import sys, traceback
import matplotlib
from matplotlib.backends.backend_qt5agg import FigureCanvasQTAgg, NavigationToolbar2QT as NavigationToolbar
from PyQt5.QtWidgets import QMessageBox
import logging
from backend import full_l3, full_l4, full_l6, full_v12, full_v6, full_v8
from matplotlib.figure import Figure
from PyQt5 import QtWidgets
from PyQt5.QtWidgets import QApplication, QLabel, QWidget
from PyQt5.QtCore import Qt
from temp import Graphics
from temp import MainWidget, BigMainWidget, MiddleMainWidget
import glob
from dataExpert import Data
from progress import ProgressBar
from classes.engine import Engine
from expert import Expert
from form import Form
import time
import re
# from form import PDF
matplotlib.use('Qt5Agg')
 
### ГЛАВНОЕ ОКНО
class MainWindow(QtWidgets.QMainWindow):
    try:
        logging.basicConfig(level=logging.INFO, filename="py.log",filemode="a", format="%(asctime)s\n%(message)s\n")
    except:
        pass
    engine = Engine()
    def __init__(self) -> None:
        super().__init__()
        self.setWindowTitle("Расчеты")
        self.setMinimumHeight(1000)
        self.setMinimumWidth(1380)
        self.data = Data()
        # self.label.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Expanding)
        # self.label.setMaximumHeight(30)
        self.AreTabsHere = False
        self.AreTabsHereBegin = False
        self.progressBar = ProgressBar()
        self.AreTabsHere0 = False
        self.AreTabsHere1 = False
        self.AreTabsHere2 = False
        self.AreTabsHere3 = False
        self.AreTabsHere4 = False
        self.AreTabsHere5 = False
        self.AreTabsHere6 = False
        self.form = None
        self.expert = Expert()
        self.mode = 0
        self.isChangedMode = False
        self.isInit = False
        self.tabWidget = QtWidgets.QTabWidget()
        self.tabWidget.setCurrentIndex(0)
        self.button = QtWidgets.QPushButton("Сгенерировать отчет")
        self.button.clicked.connect(self.show_form)
        self.tabWidget.currentChanged.connect(self.tabchange)

    def setLabel(self, mode):
        self.mode = mode
        self.expert.mode = mode
        # print("MODE " + str(mode))
        # print("self.expert.modes " + str(self.expert.modes_in_graps))
        if mode == 1:
            lbl = "Без режима"
            self.expert.path_to_folder = "data"
            for i in range(len(self.expert.paths_to_res)):
                if not "mode1" in self.expert.paths_to_res[i] and not "mode2" in self.expert.paths_to_res[i] and not "mode3" in self.expert.paths_to_res[i]:
                    self.expert.paths_to_res_with_count.append(self.expert.paths_to_res[i])
        elif mode == 2:
            self.data.current_mode = 2
            lbl = "Первый режим"
            self.expert.path_to_folder = "data/mode1"
            for i in range(len(self.expert.paths_to_res)):
                if "mode1" in self.expert.paths_to_res[i]:
                    self.expert.paths_to_res_with_count.append(self.expert.paths_to_res[i])
        elif mode == 3:
            self.data.current_mode = 3
            lbl = "Второй режим"
            self.expert.path_to_folder = "data/mode2"
            for i in range(len(self.expert.paths_to_res)):
                if "mode2" in self.expert.paths_to_res[i]:
                    self.expert.paths_to_res_with_count.append(self.expert.paths_to_res[i])
        elif mode == 4:
            self.data.current_mode = 4
            lbl = "Третий режим"
            self.expert.path_to_folder = "data/mode3"
            for i in range(len(self.expert.paths_to_res)):
                if "mode3" in self.expert.paths_to_res[i]:
                    self.expert.paths_to_res_with_count.append(self.expert.paths_to_res[i])
        elif mode == 5:
            lbl = "Общие графики для режимов"
            # set_with_count = set(self.expert.paths_to_res_with_count)
            # set_all_modes = set(self.expert.paths_to_res)
            # print(f'set_with_count: {set_with_count}')
            # print(f'set_all_modes: {set_all_modes}' )
            # set_without_count = set_all_modes.symmetric_difference(set_with_count)
            # print(f'set_without_count: {set_without_count}')
            # list_without_count = list()
            # list_without_count.extend(set_without_count)
            # for i in range(len(list_without_count)):
            #     if "mode1" in list_without_count[i]:
            #         self.expert.paths_to_folders_without_count.append("data/mode1")
            #     elif "mode2" in list_without_count[i]:
            #         self.expert.paths_to_folders_without_count.append("data/mode2")
            #     elif "mode3" in list_without_count[i]:
            #         self.expert.paths_to_folders_without_count.append("data/mode3")
        #     print(f'1 self.expert.paths_to_folders_without_count: {self.expert.paths_to_folders_without_count}')

        set_with_count = set(self.expert.paths_to_res_with_count)
        set_all_modes = set(self.expert.paths_to_res)
        # print(f'set_with_count: {set_with_count}')
        # print(f'set_all_modes: {set_all_modes}' )
        set_without_count = set_all_modes.symmetric_difference(set_with_count)
        # print(f'set_without_count: {set_without_count}')
        list_without_count = list()
        list_without_count.extend(set_without_count)
        self.expert.paths_to_folders_without_count.clear()
        for i in range(len(list_without_count)):
            if "mode1" in list_without_count[i]:
                self.expert.paths_to_folders_without_count.append("data/mode1")
            elif "mode2" in list_without_count[i]:
                self.expert.paths_to_folders_without_count.append("data/mode2")
            elif "mode3" in list_without_count[i]:
                self.expert.paths_to_folders_without_count.append("data/mode3")

        _list = set(self.expert.paths_to_folders_without_count)
        self.expert.paths_to_folders_without_count = []
        self.expert.paths_to_folders_without_count.extend(_list)
        # print(f'self.expert.paths_to_folders_without_count IN SETLABEL: {self.expert.paths_to_folders_without_count}')
        # print(self.expert.paths_to_res_with_count)
        # print()
        # print(f'2 self.expert.paths_to_folders_without_count: {self.expert.paths_to_folders_without_count}')
        if mode == 5 and self.isChangedMode and not self.expert.count_was and len(self.expert.paths_to_folders_without_count):
            # print(f"in Beggining: {len(self.data.ugwt1_mode1)} {len(self.data.ugwt1_mode2)} {len(self.data.ugwt1_mode3)}")
            print(f'In setLabel begin {len(self.data.ugwt1_mode1)} {len(self.data.ugwt1_mode2)} {len(self.data.ugwt1_mode3)}')
            print(f'In setLabel begin {self.expert.paths_to_folders_without_count}')
            self.expert.count_was = True
            self.progressBar.show()
            QApplication.processEvents()
            # self.progressBar.setValue(0, 8)
            # QApplication.processEvents()
            for i in range(len(self.expert.paths_to_folders_without_count)):
                if re.search(f"mode1", self.expert.paths_to_folders_without_count[i]):
                    self.data.current_mode = 2
                    if self.expert.input_mode1 == 2:
                        self.progressBar.setValue(0, 8)
                        QApplication.processEvents()
                        if self.expert.engine_type == 'L3':
                            self.progressBar.setValue(8, 18)
                            QApplication.processEvents()
                            self.progressBar.label.setText("Второй этап расчета")
                            try:
                                full_l3.code_2(self.expert.paths_to_folders_without_count[i])
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка во втором этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.setValue(18, 35)
                            QApplication.processEvents()
                            self.progressBar.label.setText("Третий этап расчета")
                            QApplication.processEvents()
                            try:
                                full_l3.code_3(self.expert.paths_to_folders_without_count[i])
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в третьем этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.label.setText("Четвертый этап расчета")
                            self.progressBar.setValue(35, 65)
                            QApplication.processEvents()
                            try:
                                full_l3.code_4(self.expert.paths_to_folders_without_count[i], 1)
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в четвертом этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.label.setText("Пятый этап расчета")
                            try:
                                full_l3.code_5(self.expert.paths_to_folders_without_count[i], self.expert)
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в пятом этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.setValue(65, 75)
                            QApplication.processEvents()

                        if self.expert.engine_type == 'L4':
                            self.progressBar.setValue(8, 18)
                            QApplication.processEvents()
                            self.progressBar.label.setText("Второй этап расчета")
                            try:
                                full_l4.code_2(self.expert.paths_to_folders_without_count[i])
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка во втором этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.setValue(18, 35)
                            QApplication.processEvents()
                            self.progressBar.label.setText("Третий этап расчета")
                            QApplication.processEvents()
                            try:
                                full_l4.code_3(self.expert.paths_to_folders_without_count[i])
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в третьем этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.label.setText("Четвертый этап расчета")
                            self.progressBar.setValue(35, 65)
                            QApplication.processEvents()
                            try:
                                full_l4.code_4(self.expert.paths_to_folders_without_count[i], 1)
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в четвертом этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.label.setText("Пятый этап расчета")
                            try:
                                full_l4.code_5(self.expert.paths_to_folders_without_count[i], self.expert)
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в пятом этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.setValue(65, 75)
                            QApplication.processEvents()

                        if self.expert.engine_type == 'L6':
                            self.progressBar.setValue(8, 18)
                            QApplication.processEvents()
                            self.progressBar.label.setText("Второй этап расчета")
                            try:
                                full_l6.code_2(self.expert.paths_to_folders_without_count[i])
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка во втором этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.setValue(18, 35)
                            QApplication.processEvents()
                            self.progressBar.label.setText("Третий этап расчета")
                            QApplication.processEvents()
                            try:
                                full_l6.code_3(self.expert.paths_to_folders_without_count[i])
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в третьем этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.label.setText("Четвертый этап расчета")
                            self.progressBar.setValue(35, 65)
                            QApplication.processEvents()
                            try:
                                full_l6.code_4(self.expert.paths_to_folders_without_count[i], 1)
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в четвертом этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.label.setText("Пятый этап расчета")
                            try:
                                full_l6.code_5(self.expert.paths_to_folders_without_count[i], self.expert)
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в пятом этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.setValue(65, 75)
                            QApplication.processEvents()

                        if self.expert.engine_type == 'V6':
                            self.progressBar.setValue(8, 18)
                            QApplication.processEvents()
                            self.progressBar.label.setText("Второй этап расчета")
                            try:
                                full_v6.code_2(self.expert.paths_to_folders_without_count[i])
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка во втором этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.setValue(18, 35)
                            QApplication.processEvents()
                            self.progressBar.label.setText("Третий этап расчета")
                            QApplication.processEvents()
                            try:
                                full_v6.code_3(self.expert.paths_to_folders_without_count[i])
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в третьем этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.label.setText("Четвертый этап расчета")
                            self.progressBar.setValue(35, 65)
                            QApplication.processEvents()
                            try:
                                full_v6.code_4(self.expert.paths_to_folders_without_count[i], 1)
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в четвертом этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.label.setText("Пятый этап расчета")
                            try:
                                full_v6.code_5(self.expert.paths_to_folders_without_count[i], self.expert)
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в пятом этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.setValue(65, 75)
                            QApplication.processEvents()

                        if self.expert.engine_type == 'V8':
                            self.progressBar.setValue(8, 18)
                            QApplication.processEvents()
                            self.progressBar.label.setText("Второй этап расчета")
                            try:
                                full_v8.code_2(self.expert.paths_to_folders_without_count[i])
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка во втором этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.setValue(18, 35)
                            QApplication.processEvents()
                            self.progressBar.label.setText("Третий этап расчета")
                            QApplication.processEvents()
                            try:
                                full_v8.code_3(self.expert.paths_to_folders_without_count[i])
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в третьем этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.label.setText("Четвертый этап расчета")
                            self.progressBar.setValue(35, 65)
                            QApplication.processEvents()
                            try:
                                full_v8.code_4(self.expert.paths_to_folders_without_count[i], 1)
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в четвертом этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.label.setText("Пятый этап расчета")
                            try:
                                full_v8.code_5(self.expert.paths_to_folders_without_count[i], self.expert)
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в пятом этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.setValue(65, 75)
                            QApplication.processEvents()

                        if self.expert.engine_type == 'V12':
                            self.progressBar.setValue(8, 18)
                            QApplication.processEvents()
                            self.progressBar.label.setText("Второй этап расчета")
                            try:
                                full_v12.code_2(self.expert.paths_to_folders_without_count[i])
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка во втором этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.setValue(18, 35)
                            QApplication.processEvents()
                            self.progressBar.label.setText("Третий этап расчета")
                            QApplication.processEvents()
                            try:
                                full_v12.code_3(self.expert.paths_to_folders_without_count[i])
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в третьем этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.label.setText("Четвертый этап расчета")
                            self.progressBar.setValue(35, 65)
                            QApplication.processEvents()
                            try:
                                full_v12.code_4(self.expert.paths_to_folders_without_count[i], 1)
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в четвертом этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.label.setText("Пятый этап расчета")
                            try:
                                full_v12.code_5(self.expert.paths_to_folders_without_count[i], self.expert)
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в пятом этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.setValue(65, 75)
                            QApplication.processEvents()

                    elif self.expert.input_mode1 == 1:
                        self.progressBar.setValue(0, 8)
                        QApplication.processEvents()
                        if self.expert.engine_type == 'L3':
                            self.progressBar.label.setText("Первый этап расчета")
                            try:
                                full_l3.code_1(self.expert.paths_to_folders_without_count[i])
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в первом этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.setValue(8, 18)
                            QApplication.processEvents()
                            self.progressBar.label.setText("Второй этап расчета")
                            try:
                                full_l3.code_2(self.expert.paths_to_folders_without_count[i])
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка во втором этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.setValue(18, 35)
                            QApplication.processEvents()
                            self.progressBar.label.setText("Третий этап расчета")
                            QApplication.processEvents()
                            try:
                                full_l3.code_3(self.expert.paths_to_folders_without_count[i])
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в третьем этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.label.setText("Четвертый этап расчета")
                            self.progressBar.setValue(35, 65)
                            QApplication.processEvents()
                            try:
                                full_l3.code_4(self.expert.paths_to_folders_without_count[i], 1)
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в четвертом этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.label.setText("Пятый этап расчета")
                            try:
                                full_l3.code_5(self.expert.paths_to_folders_without_count[i], self.expert)
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в пятом этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.setValue(65, 75)
                            QApplication.processEvents()

                        if self.expert.engine_type == 'L4':
                            self.progressBar.label.setText("Первый этап расчета")
                            try:
                                full_l4.code_1(self.expert.paths_to_folders_without_count[i])
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в первом этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.setValue(8, 18)
                            QApplication.processEvents()
                            # print(self.expert.paths_to_folders_without_count[i])
                            self.progressBar.label.setText("Второй этап расчета")
                            try:
                                full_l4.code_2(self.expert.paths_to_folders_without_count[i])
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка во втором этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.setValue(18, 35)
                            QApplication.processEvents()
                            self.progressBar.label.setText("Третий этап расчета")
                            QApplication.processEvents()
                            try:
                                full_l4.code_3(self.expert.paths_to_folders_without_count[i])
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в третьем этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.label.setText("Четвертый этап расчета")
                            self.progressBar.setValue(35, 65)
                            QApplication.processEvents()
                            try:
                                full_l4.code_4(self.expert.paths_to_folders_without_count[i], 1)
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в четвертом этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.label.setText("Пятый этап расчета")
                            try:
                                full_l4.code_5(self.expert.paths_to_folders_without_count[i], self.expert)
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в пятом этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.setValue(65, 75)
                            QApplication.processEvents()

                        if self.expert.engine_type == 'L6':
                            self.progressBar.label.setText("Первый этап расчета")
                            try:
                                full_l6.code_1(self.expert.paths_to_folders_without_count[i])
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в первом этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.setValue(8, 18)
                            QApplication.processEvents()
                            self.progressBar.label.setText("Второй этап расчета")
                            try:
                                full_l6.code_2(self.expert.paths_to_folders_without_count[i])
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка во втором этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.setValue(18, 35)
                            QApplication.processEvents()
                            self.progressBar.label.setText("Третий этап расчета")
                            QApplication.processEvents()
                            try:
                                full_l6.code_3(self.expert.paths_to_folders_without_count[i])
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в третьем этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.label.setText("Четвертый этап расчета")
                            self.progressBar.setValue(35, 65)
                            QApplication.processEvents()
                            try:
                                full_l6.code_4(self.expert.paths_to_folders_without_count[i], 1)
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в четвертом этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.label.setText("Пятый этап расчета")
                            try:
                                full_l6.code_5(self.expert.paths_to_folders_without_count[i], self.expert)
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в пятом этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.setValue(65, 75)
                            QApplication.processEvents()

                        if self.expert.engine_type == 'V6':
                            self.progressBar.label.setText("Первый этап расчета")
                            try:
                                full_v6.code_1(self.expert.paths_to_folders_without_count[i])
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в первом этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.setValue(8, 18)
                            QApplication.processEvents()
                            self.progressBar.label.setText("Второй этап расчета")
                            try:
                                full_v6.code_2(self.expert.paths_to_folders_without_count[i])
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка во втором этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.setValue(18, 35)
                            QApplication.processEvents()
                            self.progressBar.label.setText("Третий этап расчета")
                            QApplication.processEvents()
                            try:
                                full_v6.code_3(self.expert.paths_to_folders_without_count[i])
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в третьем этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.label.setText("Четвертый этап расчета")
                            self.progressBar.setValue(35, 65)
                            QApplication.processEvents()
                            try:
                                full_v6.code_4(self.expert.paths_to_folders_without_count[i], 1)
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в четвертом этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.label.setText("Пятый этап расчета")
                            try:
                                full_v6.code_5(self.expert.paths_to_folders_without_count[i], self.expert)
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в пятом этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.setValue(65, 75)
                            QApplication.processEvents()

                        if self.expert.engine_type == 'V8':
                            self.progressBar.label.setText("Первый этап расчета")
                            try:
                                full_v8.code_1(self.expert.paths_to_folders_without_count[i])
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в первом этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.setValue(8, 18)
                            QApplication.processEvents()
                            self.progressBar.label.setText("Второй этап расчета")
                            try:
                                full_v8.code_2(self.expert.paths_to_folders_without_count[i])
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка во втором этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.setValue(18, 35)
                            QApplication.processEvents()
                            self.progressBar.label.setText("Третий этап расчета")
                            QApplication.processEvents()
                            try:
                                full_v8.code_3(self.expert.paths_to_folders_without_count[i])
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в третьем этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.label.setText("Четвертый этап расчета")
                            self.progressBar.setValue(35, 65)
                            QApplication.processEvents()
                            try:
                                full_v8.code_4(self.expert.paths_to_folders_without_count[i], 1)
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в четвертом этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.label.setText("Пятый этап расчета")
                            try:
                                full_v8.code_5(self.expert.paths_to_folders_without_count[i], self.expert)
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в пятом этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.setValue(65, 75)
                            QApplication.processEvents()

                        if self.expert.engine_type == 'V12':
                            self.progressBar.label.setText("Первый этап расчета")
                            try:
                                full_v12.code_1(self.expert.paths_to_folders_without_count[i])
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в первом этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.setValue(8, 18)
                            QApplication.processEvents()
                            self.progressBar.label.setText("Второй этап расчета")
                            try:
                                full_v12.code_2(self.expert.paths_to_folders_without_count[i])
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка во втором этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.setValue(18, 35)
                            QApplication.processEvents()
                            self.progressBar.label.setText("Третий этап расчета")
                            QApplication.processEvents()
                            try:
                                full_v12.code_3(self.expert.paths_to_folders_without_count[i])
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в третьем этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.label.setText("Четвертый этап расчета")
                            self.progressBar.setValue(35, 65)
                            QApplication.processEvents()
                            try:
                                full_v12.code_4(self.expert.paths_to_folders_without_count[i], 1)
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в четвертом этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.label.setText("Пятый этап расчета")
                            try:
                                full_v12.code_5(self.expert.paths_to_folders_without_count[i], self.expert)
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в пятом этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.setValue(65, 75)
                            QApplication.processEvents()

                elif re.search(f"mode2", self.expert.paths_to_folders_without_count[i]):
                    self.data.current_mode = 3
                    if self.expert.input_mode2 == 2:
                        self.progressBar.setValue(0, 8)
                        QApplication.processEvents()
                        if self.expert.engine_type == 'L3':
                            self.progressBar.setValue(8, 18)
                            QApplication.processEvents()
                            self.progressBar.label.setText("Второй этап расчета")
                            try:
                                full_l3.code_2(self.expert.paths_to_folders_without_count[i])
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка во втором этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.setValue(18, 35)
                            QApplication.processEvents()
                            self.progressBar.label.setText("Третий этап расчета")
                            QApplication.processEvents()
                            try:
                                full_l3.code_3(self.expert.paths_to_folders_without_count[i])
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в третьем этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.label.setText("Четвертый этап расчета")
                            self.progressBar.setValue(35, 65)
                            QApplication.processEvents()
                            try:
                                full_l3.code_4(self.expert.paths_to_folders_without_count[i], 2)
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в четвертом этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.label.setText("Пятый этап расчета")
                            try:
                                full_l3.code_5(self.expert.paths_to_folders_without_count[i], self.expert)
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в пятом этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.setValue(65, 75)
                            QApplication.processEvents()

                        if self.expert.engine_type == 'L4':
                            self.progressBar.setValue(8, 18)
                            QApplication.processEvents()
                            self.progressBar.label.setText("Второй этап расчета")
                            try:
                                full_l4.code_2(self.expert.paths_to_folders_without_count[i])
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка во втором этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.setValue(18, 35)
                            QApplication.processEvents()
                            self.progressBar.label.setText("Третий этап расчета")
                            QApplication.processEvents()
                            try:
                                full_l4.code_3(self.expert.paths_to_folders_without_count[i])
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в третьем этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.label.setText("Четвертый этап расчета")
                            self.progressBar.setValue(35, 65)
                            QApplication.processEvents()
                            try:
                                full_l4.code_4(self.expert.paths_to_folders_without_count[i], 2)
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в четвертом этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.label.setText("Пятый этап расчета")
                            try:
                                full_l4.code_5(self.expert.paths_to_folders_without_count[i], self.expert)
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в пятом этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.setValue(65, 75)
                            QApplication.processEvents()

                        if self.expert.engine_type == 'L6':
                            self.progressBar.setValue(8, 18)
                            QApplication.processEvents()
                            self.progressBar.label.setText("Второй этап расчета")
                            try:
                                full_l6.code_2(self.expert.paths_to_folders_without_count[i])
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка во втором этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.setValue(18, 35)
                            QApplication.processEvents()
                            self.progressBar.label.setText("Третий этап расчета")
                            QApplication.processEvents()
                            try:
                                full_l6.code_3(self.expert.paths_to_folders_without_count[i])
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в третьем этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.label.setText("Четвертый этап расчета")
                            self.progressBar.setValue(35, 65)
                            QApplication.processEvents()
                            try:
                                full_l6.code_4(self.expert.paths_to_folders_without_count[i], 2)
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в четвертом этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.label.setText("Пятый этап расчета")
                            try:
                                full_l6.code_5(self.expert.paths_to_folders_without_count[i], self.expert)
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в пятом этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.setValue(65, 75)
                            QApplication.processEvents()

                        if self.expert.engine_type == 'V6':
                            self.progressBar.setValue(8, 18)
                            QApplication.processEvents()
                            self.progressBar.label.setText("Второй этап расчета")
                            try:
                                full_v6.code_2(self.expert.paths_to_folders_without_count[i])
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка во втором этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.setValue(18, 35)
                            QApplication.processEvents()
                            self.progressBar.label.setText("Третий этап расчета")
                            QApplication.processEvents()
                            try:
                                full_v6.code_3(self.expert.paths_to_folders_without_count[i])
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в третьем этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.label.setText("Четвертый этап расчета")
                            self.progressBar.setValue(35, 65)
                            QApplication.processEvents()
                            try:
                                full_v6.code_4(self.expert.paths_to_folders_without_count[i], 2)
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в четвертом этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.label.setText("Пятый этап расчета")
                            try:
                                full_v6.code_5(self.expert.paths_to_folders_without_count[i], self.expert)
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в пятом этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.setValue(65, 75)
                            QApplication.processEvents()

                        if self.expert.engine_type == 'V8':
                            self.progressBar.setValue(8, 18)
                            QApplication.processEvents()
                            self.progressBar.label.setText("Второй этап расчета")
                            try:
                                full_v8.code_2(self.expert.paths_to_folders_without_count[i])
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка во втором этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.setValue(18, 35)
                            QApplication.processEvents()
                            self.progressBar.label.setText("Третий этап расчета")
                            QApplication.processEvents()
                            try:
                                full_v8.code_3(self.expert.paths_to_folders_without_count[i])
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в третьем этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.label.setText("Четвертый этап расчета")
                            self.progressBar.setValue(35, 65)
                            QApplication.processEvents()
                            try:
                                full_v8.code_4(self.expert.paths_to_folders_without_count[i], 2)
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в четвертом этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.label.setText("Пятый этап расчета")
                            try:
                                full_v8.code_5(self.expert.paths_to_folders_without_count[i], self.expert)
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в пятом этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.setValue(65, 75)
                            QApplication.processEvents()

                        if self.expert.engine_type == 'V12':
                            self.progressBar.setValue(8, 18)
                            QApplication.processEvents()
                            self.progressBar.label.setText("Второй этап расчета")
                            try:
                                full_v12.code_2(self.expert.paths_to_folders_without_count[i])
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка во втором этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.setValue(18, 35)
                            QApplication.processEvents()
                            self.progressBar.label.setText("Третий этап расчета")
                            QApplication.processEvents()
                            try:
                                full_v12.code_3(self.expert.paths_to_folders_without_count[i])
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в третьем этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.label.setText("Четвертый этап расчета")
                            self.progressBar.setValue(35, 65)
                            QApplication.processEvents()
                            try:
                                full_v12.code_4(self.expert.paths_to_folders_without_count[i], 2)
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в четвертом этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.label.setText("Пятый этап расчета")
                            try:
                                full_v12.code_5(self.expert.paths_to_folders_without_count[i], self.expert)
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в пятом этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.setValue(65, 75)
                            QApplication.processEvents()

                    elif self.expert.input_mode2 == 1:
                        print("Mode2")
                        self.progressBar.setValue(0, 8)
                        QApplication.processEvents()
                        if self.expert.engine_type == 'L3':
                            print("setLabel, 1")
                            self.progressBar.label.setText("Первый этап расчета")
                            try:
                                full_l3.code_1(self.expert.paths_to_folders_without_count[i])
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в первом этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.setValue(8, 18)
                            QApplication.processEvents()
                            self.progressBar.label.setText("Второй этап расчета")
                            try:
                                full_l3.code_2(self.expert.paths_to_folders_without_count[i])
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка во втором этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.setValue(18, 35)
                            QApplication.processEvents()
                            self.progressBar.label.setText("Третий этап расчета")
                            QApplication.processEvents()
                            try:
                                full_l3.code_3(self.expert.paths_to_folders_without_count[i])
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в третьем этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.label.setText("Четвертый этап расчета")
                            self.progressBar.setValue(35, 65)
                            QApplication.processEvents()
                            try:
                                full_l3.code_4(self.expert.paths_to_folders_without_count[i], 2)
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в четвертом этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.label.setText("Пятый этап расчета")
                            try:
                                full_l3.code_5(self.expert.paths_to_folders_without_count[i], self.expert)
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в пятом этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.setValue(65, 75)
                            QApplication.processEvents()

                        if self.expert.engine_type == 'L4':
                            self.progressBar.label.setText("Первый этап расчета")
                            try:
                                full_l4.code_1(self.expert.paths_to_folders_without_count[i])
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в первом этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.setValue(8, 18)
                            QApplication.processEvents()
                            # print(self.expert.paths_to_folders_without_count[i])
                            self.progressBar.label.setText("Второй этап расчета")
                            try:
                                full_l4.code_2(self.expert.paths_to_folders_without_count[i])
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка во втором этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.setValue(18, 35)
                            QApplication.processEvents()
                            self.progressBar.label.setText("Третий этап расчета")
                            QApplication.processEvents()
                            try:
                                full_l4.code_3(self.expert.paths_to_folders_without_count[i])
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в третьем этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.label.setText("Четвертый этап расчета")
                            self.progressBar.setValue(35, 65)
                            QApplication.processEvents()
                            try:
                                full_l4.code_4(self.expert.paths_to_folders_without_count[i], 2)
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в четвертом этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.label.setText("Пятый этап расчета")
                            try:
                                full_l4.code_5(self.expert.paths_to_folders_without_count[i], self.expert)
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в пятом этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.setValue(65, 75)
                            QApplication.processEvents()

                        if self.expert.engine_type == 'L6':
                            self.progressBar.label.setText("Первый этап расчета")
                            try:
                                full_l6.code_1(self.expert.paths_to_folders_without_count[i])
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в первом этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.setValue(8, 18)
                            QApplication.processEvents()
                            self.progressBar.label.setText("Второй этап расчета")
                            try:
                                full_l6.code_2(self.expert.paths_to_folders_without_count[i])
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка во втором этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.setValue(18, 35)
                            QApplication.processEvents()
                            self.progressBar.label.setText("Третий этап расчета")
                            QApplication.processEvents()
                            try:
                                full_l6.code_3(self.expert.paths_to_folders_without_count[i])
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в третьем этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.label.setText("Четвертый этап расчета")
                            self.progressBar.setValue(35, 65)
                            QApplication.processEvents()
                            try:
                                full_l6.code_4(self.expert.paths_to_folders_without_count[i], 2)
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в четвертом этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.label.setText("Пятый этап расчета")
                            try:
                                full_l6.code_5(self.expert.paths_to_folders_without_count[i], self.expert)
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в пятом этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.setValue(65, 75)
                            QApplication.processEvents()

                        if self.expert.engine_type == 'V6':
                            self.progressBar.label.setText("Первый этап расчета")
                            try:
                                full_v6.code_1(self.expert.paths_to_folders_without_count[i])
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в первом этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.setValue(8, 18)
                            QApplication.processEvents()
                            self.progressBar.label.setText("Второй этап расчета")
                            try:
                                full_v6.code_2(self.expert.paths_to_folders_without_count[i])
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка во втором этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.setValue(18, 35)
                            QApplication.processEvents()
                            self.progressBar.label.setText("Третий этап расчета")
                            QApplication.processEvents()
                            try:
                                full_v6.code_3(self.expert.paths_to_folders_without_count[i])
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в третьем этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.label.setText("Четвертый этап расчета")
                            self.progressBar.setValue(35, 65)
                            QApplication.processEvents()
                            try:
                                full_v6.code_4(self.expert.paths_to_folders_without_count[i], 2)
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в четвертом этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.label.setText("Пятый этап расчета")
                            try:
                                full_v6.code_5(self.expert.paths_to_folders_without_count[i], self.expert)
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в пятом этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.setValue(65, 75)
                            QApplication.processEvents()

                        if self.expert.engine_type == 'V8':
                            self.progressBar.label.setText("Первый этап расчета")
                            try:
                                full_v8.code_1(self.expert.paths_to_folders_without_count[i])
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в первом этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.setValue(8, 18)
                            QApplication.processEvents()
                            self.progressBar.label.setText("Второй этап расчета")
                            try:
                                full_v8.code_2(self.expert.paths_to_folders_without_count[i])
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка во втором этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.setValue(18, 35)
                            QApplication.processEvents()
                            self.progressBar.label.setText("Третий этап расчета")
                            QApplication.processEvents()
                            try:
                                full_v8.code_3(self.expert.paths_to_folders_without_count[i])
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в третьем этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.label.setText("Четвертый этап расчета")
                            self.progressBar.setValue(35, 65)
                            QApplication.processEvents()
                            try:
                                full_v8.code_4(self.expert.paths_to_folders_without_count[i], 2)
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в четвертом этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.label.setText("Пятый этап расчета")
                            try:
                                full_v8.code_5(self.expert.paths_to_folders_without_count[i], self.expert)
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в пятом этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.setValue(65, 75)
                            QApplication.processEvents()

                        if self.expert.engine_type == 'V12':
                            self.progressBar.label.setText("Первый этап расчета")
                            try:
                                full_v12.code_1(self.expert.paths_to_folders_without_count[i])
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в первом этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.setValue(8, 18)
                            QApplication.processEvents()
                            self.progressBar.label.setText("Второй этап расчета")
                            try:
                                full_v12.code_2(self.expert.paths_to_folders_without_count[i])
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка во втором этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.setValue(18, 35)
                            QApplication.processEvents()
                            self.progressBar.label.setText("Третий этап расчета")
                            QApplication.processEvents()
                            try:
                                full_v12.code_3(self.expert.paths_to_folders_without_count[i])
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в третьем этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.label.setText("Четвертый этап расчета")
                            self.progressBar.setValue(35, 65)
                            QApplication.processEvents()
                            try:
                                full_v12.code_4(self.expert.paths_to_folders_without_count[i], 2)
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в четвертом этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.label.setText("Пятый этап расчета")
                            try:
                                full_v12.code_5(self.expert.paths_to_folders_without_count[i], self.expert)
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в пятом этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.setValue(65, 75)
                            QApplication.processEvents()

                elif re.search(f"mode3", self.expert.paths_to_folders_without_count[i]):
                    self.data.current_mode = 4
                    if self.expert.input_mode3 == 2:
                        self.progressBar.setValue(0, 8)
                        QApplication.processEvents()
                        if self.expert.engine_type == 'L3':
                            self.progressBar.setValue(8, 18)
                            QApplication.processEvents()
                            self.progressBar.label.setText("Второй этап расчета")
                            try:
                                full_l3.code_2(self.expert.paths_to_folders_without_count[i])
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка во втором этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.setValue(18, 35)
                            QApplication.processEvents()
                            self.progressBar.label.setText("Третий этап расчета")
                            QApplication.processEvents()
                            try:
                                full_l3.code_3(self.expert.paths_to_folders_without_count[i])
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в третьем этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.label.setText("Четвертый этап расчета")
                            self.progressBar.setValue(35, 65)
                            QApplication.processEvents()
                            try:
                                full_l3.code_4(self.expert.paths_to_folders_without_count[i], 3)
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в четвертом этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.label.setText("Пятый этап расчета")
                            try:
                                full_l3.code_5(self.expert.paths_to_folders_without_count[i], self.expert)
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в пятом этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.setValue(65, 75)
                            QApplication.processEvents()

                        if self.expert.engine_type == 'L4':
                            self.progressBar.setValue(8, 18)
                            QApplication.processEvents()
                            self.progressBar.label.setText("Второй этап расчета")
                            try:
                                full_l4.code_2(self.expert.paths_to_folders_without_count[i])
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка во втором этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.setValue(18, 35)
                            QApplication.processEvents()
                            self.progressBar.label.setText("Третий этап расчета")
                            QApplication.processEvents()
                            try:
                                full_l4.code_3(self.expert.paths_to_folders_without_count[i])
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в третьем этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.label.setText("Четвертый этап расчета")
                            self.progressBar.setValue(35, 65)
                            QApplication.processEvents()
                            try:
                                full_l4.code_4(self.expert.paths_to_folders_without_count[i], 3)
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в четвертом этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.label.setText("Пятый этап расчета")
                            try:
                                full_l4.code_5(self.expert.paths_to_folders_without_count[i], self.expert)
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в пятом этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.setValue(65, 75)
                            QApplication.processEvents()

                        if self.expert.engine_type == 'L6':
                            self.progressBar.setValue(8, 18)
                            QApplication.processEvents()
                            self.progressBar.label.setText("Второй этап расчета")
                            try:
                                full_l6.code_2(self.expert.paths_to_folders_without_count[i])
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка во втором этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.setValue(18, 35)
                            QApplication.processEvents()
                            self.progressBar.label.setText("Третий этап расчета")
                            QApplication.processEvents()
                            try:
                                full_l6.code_3(self.expert.paths_to_folders_without_count[i])
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в третьем этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.label.setText("Четвертый этап расчета")
                            self.progressBar.setValue(35, 65)
                            QApplication.processEvents()
                            try:
                                full_l6.code_4(self.expert.paths_to_folders_without_count[i], 3)
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в четвертом этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.label.setText("Пятый этап расчета")
                            try:
                                full_l6.code_5(self.expert.paths_to_folders_without_count[i], self.expert)
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в пятом этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.setValue(65, 75)
                            QApplication.processEvents()

                        if self.expert.engine_type == 'V6':
                            self.progressBar.setValue(8, 18)
                            QApplication.processEvents()
                            self.progressBar.label.setText("Второй этап расчета")
                            try:
                                full_v6.code_2(self.expert.paths_to_folders_without_count[i])
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка во втором этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.setValue(18, 35)
                            QApplication.processEvents()
                            self.progressBar.label.setText("Третий этап расчета")
                            QApplication.processEvents()
                            try:
                                full_v6.code_3(self.expert.paths_to_folders_without_count[i])
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в третьем этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.label.setText("Четвертый этап расчета")
                            self.progressBar.setValue(35, 65)
                            QApplication.processEvents()
                            try:
                                full_v6.code_4(self.expert.paths_to_folders_without_count[i], 3)
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в четвертом этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.label.setText("Пятый этап расчета")
                            try:
                                full_v6.code_5(self.expert.paths_to_folders_without_count[i], self.expert)
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в пятом этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.setValue(65, 75)
                            QApplication.processEvents()

                        if self.expert.engine_type == 'V8':
                            self.progressBar.setValue(8, 18)
                            QApplication.processEvents()
                            self.progressBar.label.setText("Второй этап расчета")
                            try:
                                full_v8.code_2(self.expert.paths_to_folders_without_count[i])
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка во втором этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.setValue(18, 35)
                            QApplication.processEvents()
                            self.progressBar.label.setText("Третий этап расчета")
                            QApplication.processEvents()
                            try:
                                full_v8.code_3(self.expert.paths_to_folders_without_count[i])
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в третьем этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.label.setText("Четвертый этап расчета")
                            self.progressBar.setValue(35, 65)
                            QApplication.processEvents()
                            try:
                                full_v8.code_4(self.expert.paths_to_folders_without_count[i], 3)
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в четвертом этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.label.setText("Пятый этап расчета")
                            try:
                                full_v8.code_5(self.expert.paths_to_folders_without_count[i], self.expert)
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в пятом этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.setValue(65, 75)
                            QApplication.processEvents()

                        if self.expert.engine_type == 'V12':
                            self.progressBar.setValue(8, 18)
                            QApplication.processEvents()
                            self.progressBar.label.setText("Второй этап расчета")
                            try:
                                full_v12.code_2(self.expert.paths_to_folders_without_count[i])
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка во втором этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.setValue(18, 35)
                            QApplication.processEvents()
                            self.progressBar.label.setText("Третий этап расчета")
                            QApplication.processEvents()
                            try:
                                full_v12.code_3(self.expert.paths_to_folders_without_count[i])
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в третьем этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.label.setText("Четвертый этап расчета")
                            self.progressBar.setValue(35, 65)
                            QApplication.processEvents()
                            try:
                                full_v12.code_4(self.expert.paths_to_folders_without_count[i], 3)
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в четвертом этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.label.setText("Пятый этап расчета")
                            try:
                                full_v12.code_5(self.expert.paths_to_folders_without_count[i], self.expert)
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в пятом этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.setValue(65, 75)
                            QApplication.processEvents()
                            
                    elif self.expert.input_mode3 == 1:
                        self.progressBar.setValue(0, 8)
                        QApplication.processEvents()
                        if self.expert.engine_type == 'L3':
                            self.progressBar.label.setText("Первый этап расчета")
                            try:
                                full_l3.code_1(self.expert.paths_to_folders_without_count[i])
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в первом этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.setValue(8, 18)
                            QApplication.processEvents()
                            self.progressBar.label.setText("Второй этап расчета")
                            try:
                                full_l3.code_2(self.expert.paths_to_folders_without_count[i])
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка во втором этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.setValue(18, 35)
                            QApplication.processEvents()
                            self.progressBar.label.setText("Третий этап расчета")
                            QApplication.processEvents()
                            try:
                                full_l3.code_3(self.expert.paths_to_folders_without_count[i])
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в третьем этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.label.setText("Четвертый этап расчета")
                            self.progressBar.setValue(35, 65)
                            QApplication.processEvents()
                            try:
                                full_l3.code_4(self.expert.paths_to_folders_without_count[i], 3)
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в четвертом этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.label.setText("Пятый этап расчета")
                            try:
                                full_l3.code_5(self.expert.paths_to_folders_without_count[i], self.expert)
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в пятом этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.setValue(65, 75)
                            QApplication.processEvents()

                        if self.expert.engine_type == 'L4':
                            self.progressBar.label.setText("Первый этап расчета")
                            try:
                                full_l4.code_1(self.expert.paths_to_folders_without_count[i])
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в первом этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.setValue(8, 18)
                            QApplication.processEvents()
                            # print(self.expert.paths_to_folders_without_count[i])
                            self.progressBar.label.setText("Второй этап расчета")
                            try:
                                full_l4.code_2(self.expert.paths_to_folders_without_count[i])
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка во втором этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.setValue(18, 35)
                            QApplication.processEvents()
                            self.progressBar.label.setText("Третий этап расчета")
                            QApplication.processEvents()
                            try:
                                full_l4.code_3(self.expert.paths_to_folders_without_count[i])
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в третьем этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.label.setText("Четвертый этап расчета")
                            self.progressBar.setValue(35, 65)
                            QApplication.processEvents()
                            try:
                                full_l4.code_4(self.expert.paths_to_folders_without_count[i], 3)
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в четвертом этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.label.setText("Пятый этап расчета")
                            try:
                                full_l4.code_5(self.expert.paths_to_folders_without_count[i], self.expert)
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в пятом этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.setValue(65, 75)
                            QApplication.processEvents()

                        if self.expert.engine_type == 'L6':
                            self.progressBar.label.setText("Первый этап расчета")
                            try:
                                full_l6.code_1(self.expert.paths_to_folders_without_count[i])
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в первом этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.setValue(8, 18)
                            QApplication.processEvents()
                            self.progressBar.label.setText("Второй этап расчета")
                            try:
                                full_l6.code_2(self.expert.paths_to_folders_without_count[i])
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка во втором этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.setValue(18, 35)
                            QApplication.processEvents()
                            self.progressBar.label.setText("Третий этап расчета")
                            QApplication.processEvents()
                            try:
                                full_l6.code_3(self.expert.paths_to_folders_without_count[i])
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в третьем этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.label.setText("Четвертый этап расчета")
                            self.progressBar.setValue(35, 65)
                            QApplication.processEvents()
                            try:
                                full_l6.code_4(self.expert.paths_to_folders_without_count[i], 3)
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в четвертом этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.label.setText("Пятый этап расчета")
                            try:
                                full_l6.code_5(self.expert.paths_to_folders_without_count[i], self.expert)
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в пятом этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.setValue(65, 75)
                            QApplication.processEvents()

                        if self.expert.engine_type == 'V6':
                            self.progressBar.label.setText("Первый этап расчета")
                            try:
                                full_v6.code_1(self.expert.paths_to_folders_without_count[i])
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в первом этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.setValue(8, 18)
                            QApplication.processEvents()
                            self.progressBar.label.setText("Второй этап расчета")
                            try:
                                full_v6.code_2(self.expert.paths_to_folders_without_count[i])
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка во втором этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.setValue(18, 35)
                            QApplication.processEvents()
                            self.progressBar.label.setText("Третий этап расчета")
                            QApplication.processEvents()
                            try:
                                full_v6.code_3(self.expert.paths_to_folders_without_count[i])
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в третьем этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.label.setText("Четвертый этап расчета")
                            self.progressBar.setValue(35, 65)
                            QApplication.processEvents()
                            try:
                                full_v6.code_4(self.expert.paths_to_folders_without_count[i], 3)
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в четвертом этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.label.setText("Пятый этап расчета")
                            try:
                                full_v6.code_5(self.expert.paths_to_folders_without_count[i], self.expert)
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в пятом этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.setValue(65, 75)
                            QApplication.processEvents()

                        if self.expert.engine_type == 'V8':
                            self.progressBar.label.setText("Первый этап расчета")
                            try:
                                full_v8.code_1(self.expert.paths_to_folders_without_count[i])
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в первом этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.setValue(8, 18)
                            QApplication.processEvents()
                            self.progressBar.label.setText("Второй этап расчета")
                            try:
                                full_v8.code_2(self.expert.paths_to_folders_without_count[i])
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка во втором этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.setValue(18, 35)
                            QApplication.processEvents()
                            self.progressBar.label.setText("Третий этап расчета")
                            QApplication.processEvents()
                            try:
                                full_v8.code_3(self.expert.paths_to_folders_without_count[i])
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в третьем этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.label.setText("Четвертый этап расчета")
                            self.progressBar.setValue(35, 65)
                            QApplication.processEvents()
                            try:
                                full_v8.code_4(self.expert.paths_to_folders_without_count[i], 3)
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в четвертом этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.label.setText("Пятый этап расчета")
                            try:
                                full_v8.code_5(self.expert.paths_to_folders_without_count[i], self.expert)
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в пятом этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.setValue(65, 75)
                            QApplication.processEvents()

                        if self.expert.engine_type == 'V12':
                            self.progressBar.label.setText("Первый этап расчета")
                            try:
                                full_v12.code_1(self.expert.paths_to_folders_without_count[i])
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в первом этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.setValue(8, 18)
                            QApplication.processEvents()
                            self.progressBar.label.setText("Второй этап расчета")
                            try:
                                full_v12.code_2(self.expert.paths_to_folders_without_count[i])
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка во втором этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.setValue(18, 35)
                            QApplication.processEvents()
                            self.progressBar.label.setText("Третий этап расчета")
                            QApplication.processEvents()
                            try:
                                full_v12.code_3(self.expert.paths_to_folders_without_count[i])
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в третьем этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.label.setText("Четвертый этап расчета")
                            self.progressBar.setValue(35, 65)
                            QApplication.processEvents()
                            try:
                                full_v12.code_4(self.expert.paths_to_folders_without_count[i], 3)
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в четвертом этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.label.setText("Пятый этап расчета")
                            try:
                                full_v12.code_5(self.expert.paths_to_folders_without_count[i], self.expert)
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в пятом этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.setValue(65, 75)
                            QApplication.processEvents()
            print(f'In setLabel end {len(self.data.ugwt1_mode1)} {len(self.data.ugwt1_mode2)} {len(self.data.ugwt1_mode3)}')
            self.expert.paths_to_res_with_count = self.expert.paths_to_res
            self.expert.paths_to_folders_without_count = []

        if self.isChangedMode and not mode in self.expert.modes_in_graps and mode != 5:

            print("COUNT")

            self.progressBar.show()
            QApplication.processEvents()
            self.progressBar.setValue(0, 8)
            QApplication.processEvents()
            # print("self.expert.engine_type " + self.expert.engine_type)

            # print("self.expert.path_to_folder " + str(self.expert.path_to_folder))
            if re.search(f"mode1", self.expert.path_to_folder):
                if self.expert.input_mode1 == 2:
                    if self.expert.engine_type == 'L3':
                        self.progressBar.setValue(8, 18)
                        QApplication.processEvents()
                        self.progressBar.label.setText("Второй этап расчета")
                        try:
                            full_l3.code_2(self.expert.path_to_folder)
                        except Exception:
                            logging.info(traceback.format_exc() + "\n" + "-"*35)
                            msg = QMessageBox()
                            msg.critical(None, "Ошибка", "Ошибка во втором этапе расчета")
                            self.progressBar.close()
                            return 3
                        self.progressBar.setValue(18, 35)
                        QApplication.processEvents()
                        self.progressBar.label.setText("Третий этап расчета")
                        QApplication.processEvents()
                        try:
                            full_l3.code_3(self.expert.path_to_folder)
                        except Exception:
                            logging.info(traceback.format_exc() + "\n" + "-"*35)
                            msg = QMessageBox()
                            msg.critical(None, "Ошибка", "Ошибка в третьем этапе расчета")
                            self.progressBar.close()
                            return 3
                        self.progressBar.label.setText("Четвертый этап расчета")
                        self.progressBar.setValue(35, 65)
                        QApplication.processEvents()
                        try:
                            full_l3.code_4(self.expert.path_to_folder, 1)
                        except Exception:
                            logging.info(traceback.format_exc() + "\n" + "-"*35)
                            msg = QMessageBox()
                            msg.critical(None, "Ошибка", "Ошибка в четвертом этапе расчета")
                            self.progressBar.close()
                            return 3
                        self.progressBar.label.setText("Пятый этап расчета")
                        try:
                            full_l3.code_5(self.expert.path_to_folder, self.expert)
                        except Exception:
                            logging.info(traceback.format_exc() + "\n" + "-"*35)
                            msg = QMessageBox()
                            msg.critical(None, "Ошибка", "Ошибка в пятом этапе расчета")
                            self.progressBar.close()
                            return 3
                        self.progressBar.setValue(65, 75)
                        QApplication.processEvents()

                    if self.expert.engine_type == 'L4':
                        self.progressBar.setValue(8, 18)
                        QApplication.processEvents()
                        self.progressBar.label.setText("Второй этап расчета")
                        try:
                            full_l4.code_2(self.expert.path_to_folder)
                        except Exception:
                            logging.info(traceback.format_exc() + "\n" + "-"*35)
                            msg = QMessageBox()
                            msg.critical(None, "Ошибка", "Ошибка во втором этапе расчета")
                            self.progressBar.close()
                            return 3
                        self.progressBar.setValue(18, 35)
                        QApplication.processEvents()
                        self.progressBar.label.setText("Третий этап расчета")
                        QApplication.processEvents()
                        try:
                            full_l4.code_3(self.expert.path_to_folder)
                        except Exception:
                            logging.info(traceback.format_exc() + "\n" + "-"*35)
                            msg = QMessageBox()
                            msg.critical(None, "Ошибка", "Ошибка в третьем этапе расчета")
                            self.progressBar.close()
                            return 3
                        self.progressBar.label.setText("Четвертый этап расчета")
                        self.progressBar.setValue(35, 65)
                        QApplication.processEvents()
                        try:
                            full_l4.code_4(self.expert.path_to_folder, 1)
                        except Exception:
                            logging.info(traceback.format_exc() + "\n" + "-"*35)
                            msg = QMessageBox()
                            msg.critical(None, "Ошибка", "Ошибка в четвертом этапе расчета")
                            self.progressBar.close()
                            return 3
                        self.progressBar.label.setText("Пятый этап расчета")
                        try:
                            full_l4.code_5(self.expert.path_to_folder, self.expert)
                        except Exception:
                            logging.info(traceback.format_exc() + "\n" + "-"*35)
                            msg = QMessageBox()
                            msg.critical(None, "Ошибка", "Ошибка в пятом этапе расчета")
                            self.progressBar.close()
                            return 3
                        self.progressBar.setValue(65, 75)
                        QApplication.processEvents()

                    if self.expert.engine_type == 'L6':
                        self.progressBar.setValue(8, 18)
                        QApplication.processEvents()
                        self.progressBar.label.setText("Второй этап расчета")
                        try:
                            full_l6.code_2(self.expert.path_to_folder)
                        except Exception:
                            logging.info(traceback.format_exc() + "\n" + "-"*35)
                            msg = QMessageBox()
                            msg.critical(None, "Ошибка", "Ошибка во втором этапе расчета")
                            self.progressBar.close()
                            return 3
                        self.progressBar.setValue(18, 35)
                        QApplication.processEvents()
                        self.progressBar.label.setText("Третий этап расчета")
                        QApplication.processEvents()
                        try:
                            full_l6.code_3(self.expert.path_to_folder)
                        except Exception:
                            logging.info(traceback.format_exc() + "\n" + "-"*35)
                            msg = QMessageBox()
                            msg.critical(None, "Ошибка", "Ошибка в третьем этапе расчета")
                            self.progressBar.close()
                            return 3
                        self.progressBar.label.setText("Четвертый этап расчета")
                        self.progressBar.setValue(35, 65)
                        QApplication.processEvents()
                        try:
                            full_l6.code_4(self.expert.path_to_folder, 1)
                        except Exception:
                            logging.info(traceback.format_exc() + "\n" + "-"*35)
                            msg = QMessageBox()
                            msg.critical(None, "Ошибка", "Ошибка в четвертом этапе расчета")
                            self.progressBar.close()
                            return 3
                        self.progressBar.label.setText("Пятый этап расчета")
                        try:
                            full_l6.code_5(self.expert.path_to_folder, self.expert)
                        except Exception:
                            logging.info(traceback.format_exc() + "\n" + "-"*35)
                            msg = QMessageBox()
                            msg.critical(None, "Ошибка", "Ошибка в пятом этапе расчета")
                            self.progressBar.close()
                            return 3
                        self.progressBar.setValue(65, 75)
                        QApplication.processEvents()

                    if self.expert.engine_type == 'V6':
                        self.progressBar.setValue(8, 18)
                        QApplication.processEvents()
                        self.progressBar.label.setText("Второй этап расчета")
                        try:
                            full_v6.code_2(self.expert.path_to_folder)
                        except Exception:
                            logging.info(traceback.format_exc() + "\n" + "-"*35)
                            msg = QMessageBox()
                            msg.critical(None, "Ошибка", "Ошибка во втором этапе расчета")
                            self.progressBar.close()
                            return 3
                        self.progressBar.setValue(18, 35)
                        QApplication.processEvents()
                        self.progressBar.label.setText("Третий этап расчета")
                        QApplication.processEvents()
                        try:
                            full_v6.code_3(self.expert.path_to_folder)
                        except Exception:
                            logging.info(traceback.format_exc() + "\n" + "-"*35)
                            msg = QMessageBox()
                            msg.critical(None, "Ошибка", "Ошибка в третьем этапе расчета")
                            self.progressBar.close()
                            return 3
                        self.progressBar.label.setText("Четвертый этап расчета")
                        self.progressBar.setValue(35, 65)
                        QApplication.processEvents()
                        try:
                            full_v6.code_4(self.expert.path_to_folder, 1)
                        except Exception:
                            logging.info(traceback.format_exc() + "\n" + "-"*35)
                            msg = QMessageBox()
                            msg.critical(None, "Ошибка", "Ошибка в четвертом этапе расчета")
                            self.progressBar.close()
                            return 3
                        self.progressBar.label.setText("Пятый этап расчета")
                        try:
                            full_v6.code_5(self.expert.path_to_folder, self.expert)
                        except Exception:
                            logging.info(traceback.format_exc() + "\n" + "-"*35)
                            msg = QMessageBox()
                            msg.critical(None, "Ошибка", "Ошибка в пятом этапе расчета")
                            self.progressBar.close()
                            return 3
                        self.progressBar.setValue(65, 75)
                        QApplication.processEvents()

                    if self.expert.engine_type == 'V8':
                        self.progressBar.setValue(8, 18)
                        QApplication.processEvents()
                        self.progressBar.label.setText("Второй этап расчета")
                        try:
                            full_v8.code_2(self.expert.path_to_folder)
                        except Exception:
                            logging.info(traceback.format_exc() + "\n" + "-"*35)
                            msg = QMessageBox()
                            msg.critical(None, "Ошибка", "Ошибка во втором этапе расчета")
                            self.progressBar.close()
                            return 3
                        self.progressBar.setValue(18, 35)
                        QApplication.processEvents()
                        self.progressBar.label.setText("Третий этап расчета")
                        QApplication.processEvents()
                        try:
                            full_v8.code_3(self.expert.path_to_folder)
                        except Exception:
                            logging.info(traceback.format_exc() + "\n" + "-"*35)
                            msg = QMessageBox()
                            msg.critical(None, "Ошибка", "Ошибка в третьем этапе расчета")
                            self.progressBar.close()
                            return 3
                        self.progressBar.label.setText("Четвертый этап расчета")
                        self.progressBar.setValue(35, 65)
                        QApplication.processEvents()
                        try:
                            full_v8.code_4(self.expert.path_to_folder, 1)
                        except Exception:
                            logging.info(traceback.format_exc() + "\n" + "-"*35)
                            msg = QMessageBox()
                            msg.critical(None, "Ошибка", "Ошибка в четвертом этапе расчета")
                            self.progressBar.close()
                            return 3
                        self.progressBar.label.setText("Пятый этап расчета")
                        try:
                            full_v8.code_5(self.expert.path_to_folder, self.expert)
                        except Exception:
                            logging.info(traceback.format_exc() + "\n" + "-"*35)
                            msg = QMessageBox()
                            msg.critical(None, "Ошибка", "Ошибка в пятом этапе расчета")
                            self.progressBar.close()
                            return 3
                        self.progressBar.setValue(65, 75)
                        QApplication.processEvents()

                    if self.expert.engine_type == 'V12':
                        self.progressBar.setValue(8, 18)
                        QApplication.processEvents()
                        self.progressBar.label.setText("Второй этап расчета")
                        try:
                            full_v12.code_2(self.expert.path_to_folder)
                        except Exception:
                            logging.info(traceback.format_exc() + "\n" + "-"*35)
                            msg = QMessageBox()
                            msg.critical(None, "Ошибка", "Ошибка во втором этапе расчета")
                            self.progressBar.close()
                            return 3
                        self.progressBar.setValue(18, 35)
                        QApplication.processEvents()
                        self.progressBar.label.setText("Третий этап расчета")
                        QApplication.processEvents()
                        try:
                            full_v12.code_3(self.expert.path_to_folder)
                        except Exception:
                            logging.info(traceback.format_exc() + "\n" + "-"*35)
                            msg = QMessageBox()
                            msg.critical(None, "Ошибка", "Ошибка в третьем этапе расчета")
                            self.progressBar.close()
                            return 3
                        self.progressBar.label.setText("Четвертый этап расчета")
                        self.progressBar.setValue(35, 65)
                        QApplication.processEvents()
                        try:
                            full_v12.code_4(self.expert.path_to_folder, 1)
                        except Exception:
                            logging.info(traceback.format_exc() + "\n" + "-"*35)
                            msg = QMessageBox()
                            msg.critical(None, "Ошибка", "Ошибка в четвертом этапе расчета")
                            self.progressBar.close()
                            return 3
                        self.progressBar.label.setText("Пятый этап расчета")
                        try:
                            full_v12.code_5(self.expert.path_to_folder, self.expert)
                        except Exception:
                            logging.info(traceback.format_exc() + "\n" + "-"*35)
                            msg = QMessageBox()
                            msg.critical(None, "Ошибка", "Ошибка в пятом этапе расчета")
                            self.progressBar.close()
                            return 3
                        self.progressBar.setValue(65, 75)
                        QApplication.processEvents()

                elif self.expert.input_mode1 == 1:
                    if self.expert.engine_type == 'L3':
                        print("COUNT, 1")
                        self.progressBar.label.setText("Первый этап расчета")
                        try:
                            full_l3.code_1(self.expert.path_to_folder)
                        except Exception:
                            logging.info(traceback.format_exc() + "\n" + "-"*35)
                            msg = QMessageBox()
                            msg.critical(None, "Ошибка", "Ошибка в первом этапе расчета")
                            self.progressBar.close()
                            return 3
                        self.progressBar.setValue(8, 18)
                        QApplication.processEvents()
                        self.progressBar.label.setText("Второй этап расчета")
                        try:
                            full_l3.code_2(self.expert.path_to_folder)
                        except Exception:
                            logging.info(traceback.format_exc() + "\n" + "-"*35)
                            msg = QMessageBox()
                            msg.critical(None, "Ошибка", "Ошибка во втором этапе расчета")
                            self.progressBar.close()
                            return 3
                        self.progressBar.setValue(18, 35)
                        QApplication.processEvents()
                        self.progressBar.label.setText("Третий этап расчета")
                        QApplication.processEvents()
                        try:
                            full_l3.code_3(self.expert.path_to_folder)
                        except Exception:
                            logging.info(traceback.format_exc() + "\n" + "-"*35)
                            msg = QMessageBox()
                            msg.critical(None, "Ошибка", "Ошибка в третьем этапе расчета")
                            self.progressBar.close()
                            return 3
                        self.progressBar.label.setText("Четвертый этап расчета")
                        self.progressBar.setValue(35, 65)
                        QApplication.processEvents()
                        try:
                            full_l3.code_4(self.expert.path_to_folder, 1)
                        except Exception:
                            logging.info(traceback.format_exc() + "\n" + "-"*35)
                            msg = QMessageBox()
                            msg.critical(None, "Ошибка", "Ошибка в четвертом этапе расчета")
                            self.progressBar.close()
                            return 3
                        self.progressBar.label.setText("Пятый этап расчета")
                        try:
                            full_l3.code_5(self.expert.path_to_folder, self.expert)
                        except Exception:
                            logging.info(traceback.format_exc() + "\n" + "-"*35)
                            msg = QMessageBox()
                            msg.critical(None, "Ошибка", "Ошибка в пятом этапе расчета")
                            self.progressBar.close()
                            return 3
                        self.progressBar.setValue(65, 75)
                        QApplication.processEvents()

                    if self.expert.engine_type == 'L4':
                        self.progressBar.label.setText("Первый этап расчета")
                        try:
                            full_l4.code_1(self.expert.path_to_folder)
                        except Exception:
                            logging.info(traceback.format_exc() + "\n" + "-"*35)
                            msg = QMessageBox()
                            msg.critical(None, "Ошибка", "Ошибка в первом этапе расчета")
                            self.progressBar.close()
                            return 3
                        self.progressBar.setValue(8, 18)
                        QApplication.processEvents()
                        # print(self.expert.path_to_folder)
                        self.progressBar.label.setText("Второй этап расчета")
                        try:
                            full_l4.code_2(self.expert.path_to_folder)
                        except Exception:
                            logging.info(traceback.format_exc() + "\n" + "-"*35)
                            msg = QMessageBox()
                            msg.critical(None, "Ошибка", "Ошибка во втором этапе расчета")
                            self.progressBar.close()
                            return 3
                        self.progressBar.setValue(18, 35)
                        QApplication.processEvents()
                        self.progressBar.label.setText("Третий этап расчета")
                        QApplication.processEvents()
                        try:
                            full_l4.code_3(self.expert.path_to_folder)
                        except Exception:
                            logging.info(traceback.format_exc() + "\n" + "-"*35)
                            msg = QMessageBox()
                            msg.critical(None, "Ошибка", "Ошибка в третьем этапе расчета")
                            self.progressBar.close()
                            return 3
                        self.progressBar.label.setText("Четвертый этап расчета")
                        self.progressBar.setValue(35, 65)
                        QApplication.processEvents()
                        try:
                            full_l4.code_4(self.expert.path_to_folder, 1)
                        except Exception:
                            logging.info(traceback.format_exc() + "\n" + "-"*35)
                            msg = QMessageBox()
                            msg.critical(None, "Ошибка", "Ошибка в четвертом этапе расчета")
                            self.progressBar.close()
                            return 3
                        self.progressBar.label.setText("Пятый этап расчета")
                        try:
                            full_l4.code_5(self.expert.path_to_folder, self.expert)
                        except Exception:
                            logging.info(traceback.format_exc() + "\n" + "-"*35)
                            msg = QMessageBox()
                            msg.critical(None, "Ошибка", "Ошибка в пятом этапе расчета")
                            self.progressBar.close()
                            return 3
                        self.progressBar.setValue(65, 75)
                        QApplication.processEvents()

                    if self.expert.engine_type == 'L6':
                        self.progressBar.label.setText("Первый этап расчета")
                        try:
                            full_l6.code_1(self.expert.path_to_folder)
                        except Exception:
                            logging.info(traceback.format_exc() + "\n" + "-"*35)
                            msg = QMessageBox()
                            msg.critical(None, "Ошибка", "Ошибка в первом этапе расчета")
                            self.progressBar.close()
                            return 3
                        self.progressBar.setValue(8, 18)
                        QApplication.processEvents()
                        self.progressBar.label.setText("Второй этап расчета")
                        try:
                            full_l6.code_2(self.expert.path_to_folder)
                        except Exception:
                            logging.info(traceback.format_exc() + "\n" + "-"*35)
                            msg = QMessageBox()
                            msg.critical(None, "Ошибка", "Ошибка во втором этапе расчета")
                            self.progressBar.close()
                            return 3
                        self.progressBar.setValue(18, 35)
                        QApplication.processEvents()
                        self.progressBar.label.setText("Третий этап расчета")
                        QApplication.processEvents()
                        try:
                            full_l6.code_3(self.expert.path_to_folder)
                        except Exception:
                            logging.info(traceback.format_exc() + "\n" + "-"*35)
                            msg = QMessageBox()
                            msg.critical(None, "Ошибка", "Ошибка в третьем этапе расчета")
                            self.progressBar.close()
                            return 3
                        self.progressBar.label.setText("Четвертый этап расчета")
                        self.progressBar.setValue(35, 65)
                        QApplication.processEvents()
                        try:
                            full_l6.code_4(self.expert.path_to_folder, 1)
                        except Exception:
                            logging.info(traceback.format_exc() + "\n" + "-"*35)
                            msg = QMessageBox()
                            msg.critical(None, "Ошибка", "Ошибка в четвертом этапе расчета")
                            self.progressBar.close()
                            return 3
                        self.progressBar.label.setText("Пятый этап расчета")
                        try:
                            full_l6.code_5(self.expert.path_to_folder, self.expert)
                        except Exception:
                            logging.info(traceback.format_exc() + "\n" + "-"*35)
                            msg = QMessageBox()
                            msg.critical(None, "Ошибка", "Ошибка в пятом этапе расчета")
                            self.progressBar.close()
                            return 3
                        self.progressBar.setValue(65, 75)
                        QApplication.processEvents()

                    if self.expert.engine_type == 'V6':
                        self.progressBar.label.setText("Первый этап расчета")
                        try:
                            full_v6.code_1(self.expert.path_to_folder)
                        except Exception:
                            logging.info(traceback.format_exc() + "\n" + "-"*35)
                            msg = QMessageBox()
                            msg.critical(None, "Ошибка", "Ошибка в первом этапе расчета")
                            self.progressBar.close()
                            return 3
                        self.progressBar.setValue(8, 18)
                        QApplication.processEvents()
                        self.progressBar.label.setText("Второй этап расчета")
                        try:
                            full_v6.code_2(self.expert.path_to_folder)
                        except Exception:
                            logging.info(traceback.format_exc() + "\n" + "-"*35)
                            msg = QMessageBox()
                            msg.critical(None, "Ошибка", "Ошибка во втором этапе расчета")
                            self.progressBar.close()
                            return 3
                        self.progressBar.setValue(18, 35)
                        QApplication.processEvents()
                        self.progressBar.label.setText("Третий этап расчета")
                        QApplication.processEvents()
                        try:
                            full_v6.code_3(self.expert.path_to_folder)
                        except Exception:
                            logging.info(traceback.format_exc() + "\n" + "-"*35)
                            msg = QMessageBox()
                            msg.critical(None, "Ошибка", "Ошибка в третьем этапе расчета")
                            self.progressBar.close()
                            return 3
                        self.progressBar.label.setText("Четвертый этап расчета")
                        self.progressBar.setValue(35, 65)
                        QApplication.processEvents()
                        try:
                            full_v6.code_4(self.expert.path_to_folder, 1)
                        except Exception:
                            logging.info(traceback.format_exc() + "\n" + "-"*35)
                            msg = QMessageBox()
                            msg.critical(None, "Ошибка", "Ошибка в четвертом этапе расчета")
                            self.progressBar.close()
                            return 3
                        self.progressBar.label.setText("Пятый этап расчета")
                        try:
                            full_v6.code_5(self.expert.path_to_folder, self.expert)
                        except Exception:
                            logging.info(traceback.format_exc() + "\n" + "-"*35)
                            msg = QMessageBox()
                            msg.critical(None, "Ошибка", "Ошибка в пятом этапе расчета")
                            self.progressBar.close()
                            return 3
                        self.progressBar.setValue(65, 75)
                        QApplication.processEvents()

                    if self.expert.engine_type == 'V8':
                        self.progressBar.label.setText("Первый этап расчета")
                        try:
                            full_v8.code_1(self.expert.path_to_folder)
                        except Exception:
                            logging.info(traceback.format_exc() + "\n" + "-"*35)
                            msg = QMessageBox()
                            msg.critical(None, "Ошибка", "Ошибка в первом этапе расчета")
                            self.progressBar.close()
                            return 3
                        self.progressBar.setValue(8, 18)
                        QApplication.processEvents()
                        self.progressBar.label.setText("Второй этап расчета")
                        try:
                            full_v8.code_2(self.expert.path_to_folder)
                        except Exception:
                            logging.info(traceback.format_exc() + "\n" + "-"*35)
                            msg = QMessageBox()
                            msg.critical(None, "Ошибка", "Ошибка во втором этапе расчета")
                            self.progressBar.close()
                            return 3
                        self.progressBar.setValue(18, 35)
                        QApplication.processEvents()
                        self.progressBar.label.setText("Третий этап расчета")
                        QApplication.processEvents()
                        try:
                            full_v8.code_3(self.expert.path_to_folder)
                        except Exception:
                            logging.info(traceback.format_exc() + "\n" + "-"*35)
                            msg = QMessageBox()
                            msg.critical(None, "Ошибка", "Ошибка в третьем этапе расчета")
                            self.progressBar.close()
                            return 3
                        self.progressBar.label.setText("Четвертый этап расчета")
                        self.progressBar.setValue(35, 65)
                        QApplication.processEvents()
                        try:
                            full_v8.code_4(self.expert.path_to_folder, 1)
                        except Exception:
                            logging.info(traceback.format_exc() + "\n" + "-"*35)
                            msg = QMessageBox()
                            msg.critical(None, "Ошибка", "Ошибка в четвертом этапе расчета")
                            self.progressBar.close()
                            return 3
                        self.progressBar.label.setText("Пятый этап расчета")
                        try:
                            full_v8.code_5(self.expert.path_to_folder, self.expert)
                        except Exception:
                            logging.info(traceback.format_exc() + "\n" + "-"*35)
                            msg = QMessageBox()
                            msg.critical(None, "Ошибка", "Ошибка в пятом этапе расчета")
                            self.progressBar.close()
                            return 3
                        self.progressBar.setValue(65, 75)
                        QApplication.processEvents()

                    if self.expert.engine_type == 'V12':
                        self.progressBar.label.setText("Первый этап расчета")
                        try:
                            full_v12.code_1(self.expert.path_to_folder)
                        except Exception:
                            logging.info(traceback.format_exc() + "\n" + "-"*35)
                            msg = QMessageBox()
                            msg.critical(None, "Ошибка", "Ошибка в первом этапе расчета")
                            self.progressBar.close()
                            return 3
                        self.progressBar.setValue(8, 18)
                        QApplication.processEvents()
                        self.progressBar.label.setText("Второй этап расчета")
                        try:
                            full_v12.code_2(self.expert.path_to_folder)
                        except Exception:
                            logging.info(traceback.format_exc() + "\n" + "-"*35)
                            msg = QMessageBox()
                            msg.critical(None, "Ошибка", "Ошибка во втором этапе расчета")
                            self.progressBar.close()
                            return 3
                        self.progressBar.setValue(18, 35)
                        QApplication.processEvents()
                        self.progressBar.label.setText("Третий этап расчета")
                        QApplication.processEvents()
                        try:
                            full_v12.code_3(self.expert.path_to_folder)
                        except Exception:
                            logging.info(traceback.format_exc() + "\n" + "-"*35)
                            msg = QMessageBox()
                            msg.critical(None, "Ошибка", "Ошибка в третьем этапе расчета")
                            self.progressBar.close()
                            return 3
                        self.progressBar.label.setText("Четвертый этап расчета")
                        self.progressBar.setValue(35, 65)
                        QApplication.processEvents()
                        try:
                            full_v12.code_4(self.expert.path_to_folder, 1)
                        except Exception:
                            logging.info(traceback.format_exc() + "\n" + "-"*35)
                            msg = QMessageBox()
                            msg.critical(None, "Ошибка", "Ошибка в четвертом этапе расчета")
                            self.progressBar.close()
                            return 3
                        self.progressBar.label.setText("Пятый этап расчета")
                        try:
                            full_v12.code_5(self.expert.path_to_folder, self.expert)
                        except Exception:
                            logging.info(traceback.format_exc() + "\n" + "-"*35)
                            msg = QMessageBox()
                            msg.critical(None, "Ошибка", "Ошибка в пятом этапе расчета")
                            self.progressBar.close()
                            return 3
                        self.progressBar.setValue(65, 75)
                        QApplication.processEvents()

            elif re.search(f"mode2", self.expert.path_to_folder):
                if self.expert.input_mode2 == 2:
                    if self.expert.engine_type == 'L3':
                        self.progressBar.setValue(8, 18)
                        QApplication.processEvents()
                        self.progressBar.label.setText("Второй этап расчета")
                        try:
                            full_l3.code_2(self.expert.path_to_folder)
                        except Exception:
                            logging.info(traceback.format_exc() + "\n" + "-"*35)
                            msg = QMessageBox()
                            msg.critical(None, "Ошибка", "Ошибка во втором этапе расчета")
                            self.progressBar.close()
                            return 3
                        self.progressBar.setValue(18, 35)
                        QApplication.processEvents()
                        self.progressBar.label.setText("Третий этап расчета")
                        QApplication.processEvents()
                        try:
                            full_l3.code_3(self.expert.path_to_folder)
                        except Exception:
                            logging.info(traceback.format_exc() + "\n" + "-"*35)
                            msg = QMessageBox()
                            msg.critical(None, "Ошибка", "Ошибка в третьем этапе расчета")
                            self.progressBar.close()
                            return 3
                        self.progressBar.label.setText("Четвертый этап расчета")
                        self.progressBar.setValue(35, 65)
                        QApplication.processEvents()
                        try:
                            full_l3.code_4(self.expert.path_to_folder, 2)
                        except Exception:
                            logging.info(traceback.format_exc() + "\n" + "-"*35)
                            msg = QMessageBox()
                            msg.critical(None, "Ошибка", "Ошибка в четвертом этапе расчета")
                            self.progressBar.close()
                            return 3
                        self.progressBar.label.setText("Пятый этап расчета")
                        try:
                            full_l3.code_5(self.expert.path_to_folder, self.expert)
                        except Exception:
                            logging.info(traceback.format_exc() + "\n" + "-"*35)
                            msg = QMessageBox()
                            msg.critical(None, "Ошибка", "Ошибка в пятом этапе расчета")
                            self.progressBar.close()
                            return 3
                        self.progressBar.setValue(65, 75)
                        QApplication.processEvents()

                    if self.expert.engine_type == 'L4':
                        self.progressBar.setValue(8, 18)
                        QApplication.processEvents()
                        self.progressBar.label.setText("Второй этап расчета")
                        try:
                            full_l4.code_2(self.expert.path_to_folder)
                        except Exception:
                            logging.info(traceback.format_exc() + "\n" + "-"*35)
                            msg = QMessageBox()
                            msg.critical(None, "Ошибка", "Ошибка во втором этапе расчета")
                            self.progressBar.close()
                            return 3
                        self.progressBar.setValue(18, 35)
                        QApplication.processEvents()
                        self.progressBar.label.setText("Третий этап расчета")
                        QApplication.processEvents()
                        try:
                            full_l4.code_3(self.expert.path_to_folder)
                        except Exception:
                            logging.info(traceback.format_exc() + "\n" + "-"*35)
                            msg = QMessageBox()
                            msg.critical(None, "Ошибка", "Ошибка в третьем этапе расчета")
                            self.progressBar.close()
                            return 3
                        self.progressBar.label.setText("Четвертый этап расчета")
                        self.progressBar.setValue(35, 65)
                        QApplication.processEvents()
                        try:
                            full_l4.code_4(self.expert.path_to_folder, 2)
                        except Exception:
                            logging.info(traceback.format_exc() + "\n" + "-"*35)
                            msg = QMessageBox()
                            msg.critical(None, "Ошибка", "Ошибка в четвертом этапе расчета")
                            self.progressBar.close()
                            return 3
                        self.progressBar.label.setText("Пятый этап расчета")
                        try:
                            full_l4.code_5(self.expert.path_to_folder, self.expert)
                        except Exception:
                            logging.info(traceback.format_exc() + "\n" + "-"*35)
                            msg = QMessageBox()
                            msg.critical(None, "Ошибка", "Ошибка в пятом этапе расчета")
                            self.progressBar.close()
                            return 3
                        self.progressBar.setValue(65, 75)
                        QApplication.processEvents()

                    if self.expert.engine_type == 'L6':
                        self.progressBar.setValue(8, 18)
                        QApplication.processEvents()
                        self.progressBar.label.setText("Второй этап расчета")
                        try:
                            full_l6.code_2(self.expert.path_to_folder)
                        except Exception:
                            logging.info(traceback.format_exc() + "\n" + "-"*35)
                            msg = QMessageBox()
                            msg.critical(None, "Ошибка", "Ошибка во втором этапе расчета")
                            self.progressBar.close()
                            return 3
                        self.progressBar.setValue(18, 35)
                        QApplication.processEvents()
                        self.progressBar.label.setText("Третий этап расчета")
                        QApplication.processEvents()
                        try:
                            full_l6.code_3(self.expert.path_to_folder)
                        except Exception:
                            logging.info(traceback.format_exc() + "\n" + "-"*35)
                            msg = QMessageBox()
                            msg.critical(None, "Ошибка", "Ошибка в третьем этапе расчета")
                            self.progressBar.close()
                            return 3
                        self.progressBar.label.setText("Четвертый этап расчета")
                        self.progressBar.setValue(35, 65)
                        QApplication.processEvents()
                        try:
                            full_l6.code_4(self.expert.path_to_folder, 2)
                        except Exception:
                            logging.info(traceback.format_exc() + "\n" + "-"*35)
                            msg = QMessageBox()
                            msg.critical(None, "Ошибка", "Ошибка в четвертом этапе расчета")
                            self.progressBar.close()
                            return 3
                        self.progressBar.label.setText("Пятый этап расчета")
                        try:
                            full_l6.code_5(self.expert.path_to_folder, self.expert)
                        except Exception:
                            logging.info(traceback.format_exc() + "\n" + "-"*35)
                            msg = QMessageBox()
                            msg.critical(None, "Ошибка", "Ошибка в пятом этапе расчета")
                            self.progressBar.close()
                            return 3
                        self.progressBar.setValue(65, 75)
                        QApplication.processEvents()

                    if self.expert.engine_type == 'V6':
                        self.progressBar.setValue(8, 18)
                        QApplication.processEvents()
                        self.progressBar.label.setText("Второй этап расчета")
                        try:
                            full_v6.code_2(self.expert.path_to_folder)
                        except Exception:
                            logging.info(traceback.format_exc() + "\n" + "-"*35)
                            msg = QMessageBox()
                            msg.critical(None, "Ошибка", "Ошибка во втором этапе расчета")
                            self.progressBar.close()
                            return 3
                        self.progressBar.setValue(18, 35)
                        QApplication.processEvents()
                        self.progressBar.label.setText("Третий этап расчета")
                        QApplication.processEvents()
                        try:
                            full_v6.code_3(self.expert.path_to_folder)
                        except Exception:
                            logging.info(traceback.format_exc() + "\n" + "-"*35)
                            msg = QMessageBox()
                            msg.critical(None, "Ошибка", "Ошибка в третьем этапе расчета")
                            self.progressBar.close()
                            return 3
                        self.progressBar.label.setText("Четвертый этап расчета")
                        self.progressBar.setValue(35, 65)
                        QApplication.processEvents()
                        try:
                            full_v6.code_4(self.expert.path_to_folder, 2)
                        except Exception:
                            logging.info(traceback.format_exc() + "\n" + "-"*35)
                            msg = QMessageBox()
                            msg.critical(None, "Ошибка", "Ошибка в четвертом этапе расчета")
                            self.progressBar.close()
                            return 3
                        self.progressBar.label.setText("Пятый этап расчета")
                        try:
                            full_v6.code_5(self.expert.path_to_folder, self.expert)
                        except Exception:
                            logging.info(traceback.format_exc() + "\n" + "-"*35)
                            msg = QMessageBox()
                            msg.critical(None, "Ошибка", "Ошибка в пятом этапе расчета")
                            self.progressBar.close()
                            return 3
                        self.progressBar.setValue(65, 75)
                        QApplication.processEvents()

                    if self.expert.engine_type == 'V8':
                        self.progressBar.setValue(8, 18)
                        QApplication.processEvents()
                        self.progressBar.label.setText("Второй этап расчета")
                        try:
                            full_v8.code_2(self.expert.path_to_folder)
                        except Exception:
                            logging.info(traceback.format_exc() + "\n" + "-"*35)
                            msg = QMessageBox()
                            msg.critical(None, "Ошибка", "Ошибка во втором этапе расчета")
                            self.progressBar.close()
                            return 3
                        self.progressBar.setValue(18, 35)
                        QApplication.processEvents()
                        self.progressBar.label.setText("Третий этап расчета")
                        QApplication.processEvents()
                        try:
                            full_v8.code_3(self.expert.path_to_folder)
                        except Exception:
                            logging.info(traceback.format_exc() + "\n" + "-"*35)
                            msg = QMessageBox()
                            msg.critical(None, "Ошибка", "Ошибка в третьем этапе расчета")
                            self.progressBar.close()
                            return 3
                        self.progressBar.label.setText("Четвертый этап расчета")
                        self.progressBar.setValue(35, 65)
                        QApplication.processEvents()
                        try:
                            full_v8.code_4(self.expert.path_to_folder, 2)
                        except Exception:
                            logging.info(traceback.format_exc() + "\n" + "-"*35)
                            msg = QMessageBox()
                            msg.critical(None, "Ошибка", "Ошибка в четвертом этапе расчета")
                            self.progressBar.close()
                            return 3
                        self.progressBar.label.setText("Пятый этап расчета")
                        try:
                            full_v8.code_5(self.expert.path_to_folder, self.expert)
                        except Exception:
                            logging.info(traceback.format_exc() + "\n" + "-"*35)
                            msg = QMessageBox()
                            msg.critical(None, "Ошибка", "Ошибка в пятом этапе расчета")
                            self.progressBar.close()
                            return 3
                        self.progressBar.setValue(65, 75)
                        QApplication.processEvents()

                    if self.expert.engine_type == 'V12':
                        self.progressBar.setValue(8, 18)
                        QApplication.processEvents()
                        self.progressBar.label.setText("Второй этап расчета")
                        try:
                            full_v12.code_2(self.expert.path_to_folder)
                        except Exception:
                            logging.info(traceback.format_exc() + "\n" + "-"*35)
                            msg = QMessageBox()
                            msg.critical(None, "Ошибка", "Ошибка во втором этапе расчета")
                            self.progressBar.close()
                            return 3
                        self.progressBar.setValue(18, 35)
                        QApplication.processEvents()
                        self.progressBar.label.setText("Третий этап расчета")
                        QApplication.processEvents()
                        try:
                            full_v12.code_3(self.expert.path_to_folder)
                        except Exception:
                            logging.info(traceback.format_exc() + "\n" + "-"*35)
                            msg = QMessageBox()
                            msg.critical(None, "Ошибка", "Ошибка в третьем этапе расчета")
                            self.progressBar.close()
                            return 3
                        self.progressBar.label.setText("Четвертый этап расчета")
                        self.progressBar.setValue(35, 65)
                        QApplication.processEvents()
                        try:
                            full_v12.code_4(self.expert.path_to_folder, 2)
                        except Exception:
                            logging.info(traceback.format_exc() + "\n" + "-"*35)
                            msg = QMessageBox()
                            msg.critical(None, "Ошибка", "Ошибка в четвертом этапе расчета")
                            self.progressBar.close()
                            return 3
                        self.progressBar.label.setText("Пятый этап расчета")
                        try:
                            full_v12.code_5(self.expert.path_to_folder, self.expert)
                        except Exception:
                            logging.info(traceback.format_exc() + "\n" + "-"*35)
                            msg = QMessageBox()
                            msg.critical(None, "Ошибка", "Ошибка в пятом этапе расчета")
                            self.progressBar.close()
                            return 3
                        self.progressBar.setValue(65, 75)
                        QApplication.processEvents()

                elif self.expert.input_mode2 == 1:
                    print("Mode2")
                    if self.expert.engine_type == 'L3':
                        print("count, 2")
                        self.progressBar.label.setText("Первый этап расчета")
                        try:
                            full_l3.code_1(self.expert.path_to_folder)
                        except Exception:
                            logging.info(traceback.format_exc() + "\n" + "-"*35)
                            msg = QMessageBox()
                            msg.critical(None, "Ошибка", "Ошибка в первом этапе расчета")
                            self.progressBar.close()
                            return 3
                        self.progressBar.setValue(8, 18)
                        QApplication.processEvents()
                        self.progressBar.label.setText("Второй этап расчета")
                        try:
                            full_l3.code_2(self.expert.path_to_folder)
                        except Exception:
                            logging.info(traceback.format_exc() + "\n" + "-"*35)
                            msg = QMessageBox()
                            msg.critical(None, "Ошибка", "Ошибка во втором этапе расчета")
                            self.progressBar.close()
                            return 3
                        self.progressBar.setValue(18, 35)
                        QApplication.processEvents()
                        self.progressBar.label.setText("Третий этап расчета")
                        QApplication.processEvents()
                        try:
                            full_l3.code_3(self.expert.path_to_folder)
                        except Exception:
                            logging.info(traceback.format_exc() + "\n" + "-"*35)
                            msg = QMessageBox()
                            msg.critical(None, "Ошибка", "Ошибка в третьем этапе расчета")
                            self.progressBar.close()
                            return 3
                        self.progressBar.label.setText("Четвертый этап расчета")
                        self.progressBar.setValue(35, 65)
                        QApplication.processEvents()
                        try:
                            full_l3.code_4(self.expert.path_to_folder, 2)
                        except Exception:
                            logging.info(traceback.format_exc() + "\n" + "-"*35)
                            msg = QMessageBox()
                            msg.critical(None, "Ошибка", "Ошибка в четвертом этапе расчета")
                            self.progressBar.close()
                            return 3
                        self.progressBar.label.setText("Пятый этап расчета")
                        try:
                            full_l3.code_5(self.expert.path_to_folder, self.expert)
                        except Exception:
                            logging.info(traceback.format_exc() + "\n" + "-"*35)
                            msg = QMessageBox()
                            msg.critical(None, "Ошибка", "Ошибка в пятом этапе расчета")
                            self.progressBar.close()
                            return 3
                        self.progressBar.setValue(65, 75)
                        QApplication.processEvents()

                    if self.expert.engine_type == 'L4':
                        self.progressBar.label.setText("Первый этап расчета")
                        try:
                            full_l4.code_1(self.expert.path_to_folder)
                        except Exception:
                            logging.info(traceback.format_exc() + "\n" + "-"*35)
                            msg = QMessageBox()
                            msg.critical(None, "Ошибка", "Ошибка в первом этапе расчета")
                            self.progressBar.close()
                            return 3
                        self.progressBar.setValue(8, 18)
                        QApplication.processEvents()
                        # print(self.expert.path_to_folder)
                        self.progressBar.label.setText("Второй этап расчета")
                        try:
                            full_l4.code_2(self.expert.path_to_folder)
                        except Exception:
                            logging.info(traceback.format_exc() + "\n" + "-"*35)
                            msg = QMessageBox()
                            msg.critical(None, "Ошибка", "Ошибка во втором этапе расчета")
                            self.progressBar.close()
                            return 3
                        self.progressBar.setValue(18, 35)
                        QApplication.processEvents()
                        self.progressBar.label.setText("Третий этап расчета")
                        QApplication.processEvents()
                        try:
                            full_l4.code_3(self.expert.path_to_folder)
                        except Exception:
                            logging.info(traceback.format_exc() + "\n" + "-"*35)
                            msg = QMessageBox()
                            msg.critical(None, "Ошибка", "Ошибка в третьем этапе расчета")
                            self.progressBar.close()
                            return 3
                        self.progressBar.label.setText("Четвертый этап расчета")
                        self.progressBar.setValue(35, 65)
                        QApplication.processEvents()
                        try:
                            full_l4.code_4(self.expert.path_to_folder, 2)
                        except Exception:
                            logging.info(traceback.format_exc() + "\n" + "-"*35)
                            msg = QMessageBox()
                            msg.critical(None, "Ошибка", "Ошибка в четвертом этапе расчета")
                            self.progressBar.close()
                            return 3
                        self.progressBar.label.setText("Пятый этап расчета")
                        try:
                            full_l4.code_5(self.expert.path_to_folder, self.expert)
                        except Exception:
                            logging.info(traceback.format_exc() + "\n" + "-"*35)
                            msg = QMessageBox()
                            msg.critical(None, "Ошибка", "Ошибка в пятом этапе расчета")
                            self.progressBar.close()
                            return 3
                        self.progressBar.setValue(65, 75)
                        QApplication.processEvents()

                    if self.expert.engine_type == 'L6':
                        self.progressBar.label.setText("Первый этап расчета")
                        try:
                            full_l6.code_1(self.expert.path_to_folder)
                        except Exception:
                            logging.info(traceback.format_exc() + "\n" + "-"*35)
                            msg = QMessageBox()
                            msg.critical(None, "Ошибка", "Ошибка в первом этапе расчета")
                            self.progressBar.close()
                            return 3
                        self.progressBar.setValue(8, 18)
                        QApplication.processEvents()
                        self.progressBar.label.setText("Второй этап расчета")
                        try:
                            full_l6.code_2(self.expert.path_to_folder)
                        except Exception:
                            logging.info(traceback.format_exc() + "\n" + "-"*35)
                            msg = QMessageBox()
                            msg.critical(None, "Ошибка", "Ошибка во втором этапе расчета")
                            self.progressBar.close()
                            return 3
                        self.progressBar.setValue(18, 35)
                        QApplication.processEvents()
                        self.progressBar.label.setText("Третий этап расчета")
                        QApplication.processEvents()
                        try:
                            full_l6.code_3(self.expert.path_to_folder)
                        except Exception:
                            logging.info(traceback.format_exc() + "\n" + "-"*35)
                            msg = QMessageBox()
                            msg.critical(None, "Ошибка", "Ошибка в третьем этапе расчета")
                            self.progressBar.close()
                            return 3
                        self.progressBar.label.setText("Четвертый этап расчета")
                        self.progressBar.setValue(35, 65)
                        QApplication.processEvents()
                        try:
                            full_l6.code_4(self.expert.path_to_folder, 2)
                        except Exception:
                            logging.info(traceback.format_exc() + "\n" + "-"*35)
                            msg = QMessageBox()
                            msg.critical(None, "Ошибка", "Ошибка в четвертом этапе расчета")
                            self.progressBar.close()
                            return 3
                        self.progressBar.label.setText("Пятый этап расчета")
                        try:
                            full_l6.code_5(self.expert.path_to_folder, self.expert)
                        except Exception:
                            logging.info(traceback.format_exc() + "\n" + "-"*35)
                            msg = QMessageBox()
                            msg.critical(None, "Ошибка", "Ошибка в пятом этапе расчета")
                            self.progressBar.close()
                            return 3
                        self.progressBar.setValue(65, 75)
                        QApplication.processEvents()

                    if self.expert.engine_type == 'V6':
                        self.progressBar.label.setText("Первый этап расчета")
                        try:
                            full_v6.code_1(self.expert.path_to_folder)
                        except Exception:
                            logging.info(traceback.format_exc() + "\n" + "-"*35)
                            msg = QMessageBox()
                            msg.critical(None, "Ошибка", "Ошибка в первом этапе расчета")
                            self.progressBar.close()
                            return 3
                        self.progressBar.setValue(8, 18)
                        QApplication.processEvents()
                        self.progressBar.label.setText("Второй этап расчета")
                        try:
                            full_v6.code_2(self.expert.path_to_folder)
                        except Exception:
                            logging.info(traceback.format_exc() + "\n" + "-"*35)
                            msg = QMessageBox()
                            msg.critical(None, "Ошибка", "Ошибка во втором этапе расчета")
                            self.progressBar.close()
                            return 3
                        self.progressBar.setValue(18, 35)
                        QApplication.processEvents()
                        self.progressBar.label.setText("Третий этап расчета")
                        QApplication.processEvents()
                        try:
                            full_v6.code_3(self.expert.path_to_folder)
                        except Exception:
                            logging.info(traceback.format_exc() + "\n" + "-"*35)
                            msg = QMessageBox()
                            msg.critical(None, "Ошибка", "Ошибка в третьем этапе расчета")
                            self.progressBar.close()
                            return 3
                        self.progressBar.label.setText("Четвертый этап расчета")
                        self.progressBar.setValue(35, 65)
                        QApplication.processEvents()
                        try:
                            full_v6.code_4(self.expert.path_to_folder, 2)
                        except Exception:
                            logging.info(traceback.format_exc() + "\n" + "-"*35)
                            msg = QMessageBox()
                            msg.critical(None, "Ошибка", "Ошибка в четвертом этапе расчета")
                            self.progressBar.close()
                            return 3
                        self.progressBar.label.setText("Пятый этап расчета")
                        try:
                            full_v6.code_5(self.expert.path_to_folder, self.expert)
                        except Exception:
                            logging.info(traceback.format_exc() + "\n" + "-"*35)
                            msg = QMessageBox()
                            msg.critical(None, "Ошибка", "Ошибка в пятом этапе расчета")
                            self.progressBar.close()
                            return 3
                        self.progressBar.setValue(65, 75)
                        QApplication.processEvents()

                    if self.expert.engine_type == 'V8':
                        self.progressBar.label.setText("Первый этап расчета")
                        try:
                            full_v8.code_1(self.expert.path_to_folder)
                        except Exception:
                            logging.info(traceback.format_exc() + "\n" + "-"*35)
                            msg = QMessageBox()
                            msg.critical(None, "Ошибка", "Ошибка в первом этапе расчета")
                            self.progressBar.close()
                            return 3
                        self.progressBar.setValue(8, 18)
                        QApplication.processEvents()
                        self.progressBar.label.setText("Второй этап расчета")
                        try:
                            full_v8.code_2(self.expert.path_to_folder)
                        except Exception:
                            logging.info(traceback.format_exc() + "\n" + "-"*35)
                            msg = QMessageBox()
                            msg.critical(None, "Ошибка", "Ошибка во втором этапе расчета")
                            self.progressBar.close()
                            return 3
                        self.progressBar.setValue(18, 35)
                        QApplication.processEvents()
                        self.progressBar.label.setText("Третий этап расчета")
                        QApplication.processEvents()
                        try:
                            full_v8.code_3(self.expert.path_to_folder)
                        except Exception:
                            logging.info(traceback.format_exc() + "\n" + "-"*35)
                            msg = QMessageBox()
                            msg.critical(None, "Ошибка", "Ошибка в третьем этапе расчета")
                            self.progressBar.close()
                            return 3
                        self.progressBar.label.setText("Четвертый этап расчета")
                        self.progressBar.setValue(35, 65)
                        QApplication.processEvents()
                        try:
                            full_v8.code_4(self.expert.path_to_folder, 2)
                        except Exception:
                            logging.info(traceback.format_exc() + "\n" + "-"*35)
                            msg = QMessageBox()
                            msg.critical(None, "Ошибка", "Ошибка в четвертом этапе расчета")
                            self.progressBar.close()
                            return 3
                        self.progressBar.label.setText("Пятый этап расчета")
                        try:
                            full_v8.code_5(self.expert.path_to_folder, self.expert)
                        except Exception:
                            logging.info(traceback.format_exc() + "\n" + "-"*35)
                            msg = QMessageBox()
                            msg.critical(None, "Ошибка", "Ошибка в пятом этапе расчета")
                            self.progressBar.close()
                            return 3
                        self.progressBar.setValue(65, 75)
                        QApplication.processEvents()

                    if self.expert.engine_type == 'V12':
                        self.progressBar.label.setText("Первый этап расчета")
                        try:
                            full_v12.code_1(self.expert.path_to_folder)
                        except Exception:
                            logging.info(traceback.format_exc() + "\n" + "-"*35)
                            msg = QMessageBox()
                            msg.critical(None, "Ошибка", "Ошибка в первом этапе расчета")
                            self.progressBar.close()
                            return 3
                        self.progressBar.setValue(8, 18)
                        QApplication.processEvents()
                        self.progressBar.label.setText("Второй этап расчета")
                        try:
                            full_v12.code_2(self.expert.path_to_folder)
                        except Exception:
                            logging.info(traceback.format_exc() + "\n" + "-"*35)
                            msg = QMessageBox()
                            msg.critical(None, "Ошибка", "Ошибка во втором этапе расчета")
                            self.progressBar.close()
                            return 3
                        self.progressBar.setValue(18, 35)
                        QApplication.processEvents()
                        self.progressBar.label.setText("Третий этап расчета")
                        QApplication.processEvents()
                        try:
                            full_v12.code_3(self.expert.path_to_folder)
                        except Exception:
                            logging.info(traceback.format_exc() + "\n" + "-"*35)
                            msg = QMessageBox()
                            msg.critical(None, "Ошибка", "Ошибка в третьем этапе расчета")
                            self.progressBar.close()
                            return 3
                        self.progressBar.label.setText("Четвертый этап расчета")
                        self.progressBar.setValue(35, 65)
                        QApplication.processEvents()
                        try:
                            full_v12.code_4(self.expert.path_to_folder, 2)
                        except Exception:
                            logging.info(traceback.format_exc() + "\n" + "-"*35)
                            msg = QMessageBox()
                            msg.critical(None, "Ошибка", "Ошибка в четвертом этапе расчета")
                            self.progressBar.close()
                            return 3
                        self.progressBar.label.setText("Пятый этап расчета")
                        try:
                            full_v12.code_5(self.expert.path_to_folder, self.expert)
                        except Exception:
                            logging.info(traceback.format_exc() + "\n" + "-"*35)
                            msg = QMessageBox()
                            msg.critical(None, "Ошибка", "Ошибка в пятом этапе расчета")
                            self.progressBar.close()
                            return 3
                        self.progressBar.setValue(65, 75)
                        QApplication.processEvents()

            if re.search(f"mode3", self.expert.path_to_folder):
                if self.expert.input_mode3 == 2:
                    if self.expert.engine_type == 'L3':
                        self.progressBar.setValue(8, 18)
                        QApplication.processEvents()
                        self.progressBar.label.setText("Второй этап расчета")
                        try:
                            full_l3.code_2(self.expert.path_to_folder)
                        except Exception:
                            logging.info(traceback.format_exc() + "\n" + "-"*35)
                            msg = QMessageBox()
                            msg.critical(None, "Ошибка", "Ошибка во втором этапе расчета")
                            self.progressBar.close()
                            return 3
                        self.progressBar.setValue(18, 35)
                        QApplication.processEvents()
                        self.progressBar.label.setText("Третий этап расчета")
                        QApplication.processEvents()
                        try:
                            full_l3.code_3(self.expert.path_to_folder)
                        except Exception:
                            logging.info(traceback.format_exc() + "\n" + "-"*35)
                            msg = QMessageBox()
                            msg.critical(None, "Ошибка", "Ошибка в третьем этапе расчета")
                            self.progressBar.close()
                            return 3
                        self.progressBar.label.setText("Четвертый этап расчета")
                        self.progressBar.setValue(35, 65)
                        QApplication.processEvents()
                        try:
                            full_l3.code_4(self.expert.path_to_folder, 3)
                        except Exception:
                            logging.info(traceback.format_exc() + "\n" + "-"*35)
                            msg = QMessageBox()
                            msg.critical(None, "Ошибка", "Ошибка в четвертом этапе расчета")
                            self.progressBar.close()
                            return 3
                        self.progressBar.label.setText("Пятый этап расчета")
                        try:
                            full_l3.code_5(self.expert.path_to_folder, self.expert)
                        except Exception:
                            logging.info(traceback.format_exc() + "\n" + "-"*35)
                            msg = QMessageBox()
                            msg.critical(None, "Ошибка", "Ошибка в пятом этапе расчета")
                            self.progressBar.close()
                            return 3
                        self.progressBar.setValue(65, 75)
                        QApplication.processEvents()

                    if self.expert.engine_type == 'L4':
                        self.progressBar.setValue(8, 18)
                        QApplication.processEvents()
                        self.progressBar.label.setText("Второй этап расчета")
                        try:
                            full_l4.code_2(self.expert.path_to_folder)
                        except Exception:
                            logging.info(traceback.format_exc() + "\n" + "-"*35)
                            msg = QMessageBox()
                            msg.critical(None, "Ошибка", "Ошибка во втором этапе расчета")
                            self.progressBar.close()
                            return 3
                        self.progressBar.setValue(18, 35)
                        QApplication.processEvents()
                        self.progressBar.label.setText("Третий этап расчета")
                        QApplication.processEvents()
                        try:
                            full_l4.code_3(self.expert.path_to_folder)
                        except Exception:
                            logging.info(traceback.format_exc() + "\n" + "-"*35)
                            msg = QMessageBox()
                            msg.critical(None, "Ошибка", "Ошибка в третьем этапе расчета")
                            self.progressBar.close()
                            return 3
                        self.progressBar.label.setText("Четвертый этап расчета")
                        self.progressBar.setValue(35, 65)
                        QApplication.processEvents()
                        try:
                            full_l4.code_4(self.expert.path_to_folder, 3)
                        except Exception:
                            logging.info(traceback.format_exc() + "\n" + "-"*35)
                            msg = QMessageBox()
                            msg.critical(None, "Ошибка", "Ошибка в четвертом этапе расчета")
                            self.progressBar.close()
                            return 3
                        self.progressBar.label.setText("Пятый этап расчета")
                        try:
                            full_l4.code_5(self.expert.path_to_folder, self.expert)
                        except Exception:
                            logging.info(traceback.format_exc() + "\n" + "-"*35)
                            msg = QMessageBox()
                            msg.critical(None, "Ошибка", "Ошибка в пятом этапе расчета")
                            self.progressBar.close()
                            return 3
                        self.progressBar.setValue(65, 75)
                        QApplication.processEvents()

                    if self.expert.engine_type == 'L6':
                        self.progressBar.setValue(8, 18)
                        QApplication.processEvents()
                        self.progressBar.label.setText("Второй этап расчета")
                        try:
                            full_l6.code_2(self.expert.path_to_folder)
                        except Exception:
                            logging.info(traceback.format_exc() + "\n" + "-"*35)
                            msg = QMessageBox()
                            msg.critical(None, "Ошибка", "Ошибка во втором этапе расчета")
                            self.progressBar.close()
                            return 3
                        self.progressBar.setValue(18, 35)
                        QApplication.processEvents()
                        self.progressBar.label.setText("Третий этап расчета")
                        QApplication.processEvents()
                        try:
                            full_l6.code_3(self.expert.path_to_folder)
                        except Exception:
                            logging.info(traceback.format_exc() + "\n" + "-"*35)
                            msg = QMessageBox()
                            msg.critical(None, "Ошибка", "Ошибка в третьем этапе расчета")
                            self.progressBar.close()
                            return 3
                        self.progressBar.label.setText("Четвертый этап расчета")
                        self.progressBar.setValue(35, 65)
                        QApplication.processEvents()
                        try:
                            full_l6.code_4(self.expert.path_to_folder, 3)
                        except Exception:
                            logging.info(traceback.format_exc() + "\n" + "-"*35)
                            msg = QMessageBox()
                            msg.critical(None, "Ошибка", "Ошибка в четвертом этапе расчета")
                            self.progressBar.close()
                            return 3
                        self.progressBar.label.setText("Пятый этап расчета")
                        try:
                            full_l6.code_5(self.expert.path_to_folder, self.expert)
                        except Exception:
                            logging.info(traceback.format_exc() + "\n" + "-"*35)
                            msg = QMessageBox()
                            msg.critical(None, "Ошибка", "Ошибка в пятом этапе расчета")
                            self.progressBar.close()
                            return 3
                        self.progressBar.setValue(65, 75)
                        QApplication.processEvents()

                    if self.expert.engine_type == 'V6':
                        self.progressBar.setValue(8, 18)
                        QApplication.processEvents()
                        self.progressBar.label.setText("Второй этап расчета")
                        try:
                            full_v6.code_2(self.expert.path_to_folder)
                        except Exception:
                            logging.info(traceback.format_exc() + "\n" + "-"*35)
                            msg = QMessageBox()
                            msg.critical(None, "Ошибка", "Ошибка во втором этапе расчета")
                            self.progressBar.close()
                            return 3
                        self.progressBar.setValue(18, 35)
                        QApplication.processEvents()
                        self.progressBar.label.setText("Третий этап расчета")
                        QApplication.processEvents()
                        try:
                            full_v6.code_3(self.expert.path_to_folder)
                        except Exception:
                            logging.info(traceback.format_exc() + "\n" + "-"*35)
                            msg = QMessageBox()
                            msg.critical(None, "Ошибка", "Ошибка в третьем этапе расчета")
                            self.progressBar.close()
                            return 3
                        self.progressBar.label.setText("Четвертый этап расчета")
                        self.progressBar.setValue(35, 65)
                        QApplication.processEvents()
                        try:
                            full_v6.code_4(self.expert.path_to_folder, 3)
                        except Exception:
                            logging.info(traceback.format_exc() + "\n" + "-"*35)
                            msg = QMessageBox()
                            msg.critical(None, "Ошибка", "Ошибка в четвертом этапе расчета")
                            self.progressBar.close()
                            return 3
                        self.progressBar.label.setText("Пятый этап расчета")
                        try:
                            full_v6.code_5(self.expert.path_to_folder, self.expert)
                        except Exception:
                            logging.info(traceback.format_exc() + "\n" + "-"*35)
                            msg = QMessageBox()
                            msg.critical(None, "Ошибка", "Ошибка в пятом этапе расчета")
                            self.progressBar.close()
                            return 3
                        self.progressBar.setValue(65, 75)
                        QApplication.processEvents()

                    if self.expert.engine_type == 'V8':
                        self.progressBar.setValue(8, 18)
                        QApplication.processEvents()
                        self.progressBar.label.setText("Второй этап расчета")
                        try:
                            full_v8.code_2(self.expert.path_to_folder)
                        except Exception:
                            logging.info(traceback.format_exc() + "\n" + "-"*35)
                            msg = QMessageBox()
                            msg.critical(None, "Ошибка", "Ошибка во втором этапе расчета")
                            self.progressBar.close()
                            return 3
                        self.progressBar.setValue(18, 35)
                        QApplication.processEvents()
                        self.progressBar.label.setText("Третий этап расчета")
                        QApplication.processEvents()
                        try:
                            full_v8.code_3(self.expert.path_to_folder)
                        except Exception:
                            logging.info(traceback.format_exc() + "\n" + "-"*35)
                            msg = QMessageBox()
                            msg.critical(None, "Ошибка", "Ошибка в третьем этапе расчета")
                            self.progressBar.close()
                            return 3
                        self.progressBar.label.setText("Четвертый этап расчета")
                        self.progressBar.setValue(35, 65)
                        QApplication.processEvents()
                        try:
                            full_v8.code_4(self.expert.path_to_folder, 3)
                        except Exception:
                            logging.info(traceback.format_exc() + "\n" + "-"*35)
                            msg = QMessageBox()
                            msg.critical(None, "Ошибка", "Ошибка в четвертом этапе расчета")
                            self.progressBar.close()
                            return 3
                        self.progressBar.label.setText("Пятый этап расчета")
                        try:
                            full_v8.code_5(self.expert.path_to_folder, self.expert)
                        except Exception:
                            logging.info(traceback.format_exc() + "\n" + "-"*35)
                            msg = QMessageBox()
                            msg.critical(None, "Ошибка", "Ошибка в пятом этапе расчета")
                            self.progressBar.close()
                            return 3
                        self.progressBar.setValue(65, 75)
                        QApplication.processEvents()

                    if self.expert.engine_type == 'V12':
                        self.progressBar.setValue(8, 18)
                        QApplication.processEvents()
                        self.progressBar.label.setText("Второй этап расчета")
                        try:
                            full_v12.code_2(self.expert.path_to_folder)
                        except Exception:
                            logging.info(traceback.format_exc() + "\n" + "-"*35)
                            msg = QMessageBox()
                            msg.critical(None, "Ошибка", "Ошибка во втором этапе расчета")
                            self.progressBar.close()
                            return 3
                        self.progressBar.setValue(18, 35)
                        QApplication.processEvents()
                        self.progressBar.label.setText("Третий этап расчета")
                        QApplication.processEvents()
                        try:
                            full_v12.code_3(self.expert.path_to_folder)
                        except Exception:
                            logging.info(traceback.format_exc() + "\n" + "-"*35)
                            msg = QMessageBox()
                            msg.critical(None, "Ошибка", "Ошибка в третьем этапе расчета")
                            self.progressBar.close()
                            return 3
                        self.progressBar.label.setText("Четвертый этап расчета")
                        self.progressBar.setValue(35, 65)
                        QApplication.processEvents()
                        try:
                            full_v12.code_4(self.expert.path_to_folder, 3)
                        except Exception:
                            logging.info(traceback.format_exc() + "\n" + "-"*35)
                            msg = QMessageBox()
                            msg.critical(None, "Ошибка", "Ошибка в четвертом этапе расчета")
                            self.progressBar.close()
                            return 3
                        self.progressBar.label.setText("Пятый этап расчета")
                        try:
                            full_v12.code_5(self.expert.path_to_folder, self.expert)
                        except Exception:
                            logging.info(traceback.format_exc() + "\n" + "-"*35)
                            msg = QMessageBox()
                            msg.critical(None, "Ошибка", "Ошибка в пятом этапе расчета")
                            self.progressBar.close()
                            return 3
                        self.progressBar.setValue(65, 75)
                        QApplication.processEvents()

                elif self.expert.input_mode3 == 1:
                    if self.expert.engine_type == 'L3':
                        self.progressBar.label.setText("Первый этап расчета")
                        try:
                            full_l3.code_1(self.expert.path_to_folder)
                        except Exception:
                            logging.info(traceback.format_exc() + "\n" + "-"*35)
                            msg = QMessageBox()
                            msg.critical(None, "Ошибка", "Ошибка в первом этапе расчета")
                            self.progressBar.close()
                            return 3
                        self.progressBar.setValue(8, 18)
                        QApplication.processEvents()
                        self.progressBar.label.setText("Второй этап расчета")
                        try:
                            full_l3.code_2(self.expert.path_to_folder)
                        except Exception:
                            logging.info(traceback.format_exc() + "\n" + "-"*35)
                            msg = QMessageBox()
                            msg.critical(None, "Ошибка", "Ошибка во втором этапе расчета")
                            self.progressBar.close()
                            return 3
                        self.progressBar.setValue(18, 35)
                        QApplication.processEvents()
                        self.progressBar.label.setText("Третий этап расчета")
                        QApplication.processEvents()
                        try:
                            full_l3.code_3(self.expert.path_to_folder)
                        except Exception:
                            logging.info(traceback.format_exc() + "\n" + "-"*35)
                            msg = QMessageBox()
                            msg.critical(None, "Ошибка", "Ошибка в третьем этапе расчета")
                            self.progressBar.close()
                            return 3
                        self.progressBar.label.setText("Четвертый этап расчета")
                        self.progressBar.setValue(35, 65)
                        QApplication.processEvents()
                        try:
                            full_l3.code_4(self.expert.path_to_folder, 3)
                        except Exception:
                            logging.info(traceback.format_exc() + "\n" + "-"*35)
                            msg = QMessageBox()
                            msg.critical(None, "Ошибка", "Ошибка в четвертом этапе расчета")
                            self.progressBar.close()
                            return 3
                        self.progressBar.label.setText("Пятый этап расчета")
                        try:
                            full_l3.code_5(self.expert.path_to_folder, self.expert)
                        except Exception:
                            logging.info(traceback.format_exc() + "\n" + "-"*35)
                            msg = QMessageBox()
                            msg.critical(None, "Ошибка", "Ошибка в пятом этапе расчета")
                            self.progressBar.close()
                            return 3
                        self.progressBar.setValue(65, 75)
                        QApplication.processEvents()

                    if self.expert.engine_type == 'L4':
                        self.progressBar.label.setText("Первый этап расчета")
                        try:
                            full_l4.code_1(self.expert.path_to_folder)
                        except Exception:
                            logging.info(traceback.format_exc() + "\n" + "-"*35)
                            msg = QMessageBox()
                            msg.critical(None, "Ошибка", "Ошибка в первом этапе расчета")
                            self.progressBar.close()
                            return 3
                        self.progressBar.setValue(8, 18)
                        QApplication.processEvents()
                        # print(self.expert.path_to_folder)
                        self.progressBar.label.setText("Второй этап расчета")
                        try:
                            full_l4.code_2(self.expert.path_to_folder)
                        except Exception:
                            logging.info(traceback.format_exc() + "\n" + "-"*35)
                            msg = QMessageBox()
                            msg.critical(None, "Ошибка", "Ошибка во втором этапе расчета")
                            self.progressBar.close()
                            return 3
                        self.progressBar.setValue(18, 35)
                        QApplication.processEvents()
                        self.progressBar.label.setText("Третий этап расчета")
                        QApplication.processEvents()
                        try:
                            full_l4.code_3(self.expert.path_to_folder)
                        except Exception:
                            logging.info(traceback.format_exc() + "\n" + "-"*35)
                            msg = QMessageBox()
                            msg.critical(None, "Ошибка", "Ошибка в третьем этапе расчета")
                            self.progressBar.close()
                            return 3
                        self.progressBar.label.setText("Четвертый этап расчета")
                        self.progressBar.setValue(35, 65)
                        QApplication.processEvents()
                        try:
                            full_l4.code_4(self.expert.path_to_folder, 3)
                        except Exception:
                            logging.info(traceback.format_exc() + "\n" + "-"*35)
                            msg = QMessageBox()
                            msg.critical(None, "Ошибка", "Ошибка в четвертом этапе расчета")
                            self.progressBar.close()
                            return 3
                        self.progressBar.label.setText("Пятый этап расчета")
                        try:
                            full_l4.code_5(self.expert.path_to_folder, self.expert)
                        except Exception:
                            logging.info(traceback.format_exc() + "\n" + "-"*35)
                            msg = QMessageBox()
                            msg.critical(None, "Ошибка", "Ошибка в пятом этапе расчета")
                            self.progressBar.close()
                            return 3
                        self.progressBar.setValue(65, 75)
                        QApplication.processEvents()

                    if self.expert.engine_type == 'L6':
                        self.progressBar.label.setText("Первый этап расчета")
                        try:
                            full_l6.code_1(self.expert.path_to_folder)
                        except Exception:
                            logging.info(traceback.format_exc() + "\n" + "-"*35)
                            msg = QMessageBox()
                            msg.critical(None, "Ошибка", "Ошибка в первом этапе расчета")
                            self.progressBar.close()
                            return 3
                        self.progressBar.setValue(8, 18)
                        QApplication.processEvents()
                        self.progressBar.label.setText("Второй этап расчета")
                        try:
                            full_l6.code_2(self.expert.path_to_folder)
                        except Exception:
                            logging.info(traceback.format_exc() + "\n" + "-"*35)
                            msg = QMessageBox()
                            msg.critical(None, "Ошибка", "Ошибка во втором этапе расчета")
                            self.progressBar.close()
                            return 3
                        self.progressBar.setValue(18, 35)
                        QApplication.processEvents()
                        self.progressBar.label.setText("Третий этап расчета")
                        QApplication.processEvents()
                        try:
                            full_l6.code_3(self.expert.path_to_folder)
                        except Exception:
                            logging.info(traceback.format_exc() + "\n" + "-"*35)
                            msg = QMessageBox()
                            msg.critical(None, "Ошибка", "Ошибка в третьем этапе расчета")
                            self.progressBar.close()
                            return 3
                        self.progressBar.label.setText("Четвертый этап расчета")
                        self.progressBar.setValue(35, 65)
                        QApplication.processEvents()
                        try:
                            full_l6.code_4(self.expert.path_to_folder, 3)
                        except Exception:
                            logging.info(traceback.format_exc() + "\n" + "-"*35)
                            msg = QMessageBox()
                            msg.critical(None, "Ошибка", "Ошибка в четвертом этапе расчета")
                            self.progressBar.close()
                            return 3
                        self.progressBar.label.setText("Пятый этап расчета")
                        try:
                            full_l6.code_5(self.expert.path_to_folder, self.expert)
                        except Exception:
                            logging.info(traceback.format_exc() + "\n" + "-"*35)
                            msg = QMessageBox()
                            msg.critical(None, "Ошибка", "Ошибка в пятом этапе расчета")
                            self.progressBar.close()
                            return 3
                        self.progressBar.setValue(65, 75)
                        QApplication.processEvents()

                    if self.expert.engine_type == 'V6':
                        self.progressBar.label.setText("Первый этап расчета")
                        try:
                            full_v6.code_1(self.expert.path_to_folder)
                        except Exception:
                            logging.info(traceback.format_exc() + "\n" + "-"*35)
                            msg = QMessageBox()
                            msg.critical(None, "Ошибка", "Ошибка в первом этапе расчета")
                            self.progressBar.close()
                            return 3
                        self.progressBar.setValue(8, 18)
                        QApplication.processEvents()
                        self.progressBar.label.setText("Второй этап расчета")
                        try:
                            full_v6.code_2(self.expert.path_to_folder)
                        except Exception:
                            logging.info(traceback.format_exc() + "\n" + "-"*35)
                            msg = QMessageBox()
                            msg.critical(None, "Ошибка", "Ошибка во втором этапе расчета")
                            self.progressBar.close()
                            return 3
                        self.progressBar.setValue(18, 35)
                        QApplication.processEvents()
                        self.progressBar.label.setText("Третий этап расчета")
                        QApplication.processEvents()
                        try:
                            full_v6.code_3(self.expert.path_to_folder)
                        except Exception:
                            logging.info(traceback.format_exc() + "\n" + "-"*35)
                            msg = QMessageBox()
                            msg.critical(None, "Ошибка", "Ошибка в третьем этапе расчета")
                            self.progressBar.close()
                            return 3
                        self.progressBar.label.setText("Четвертый этап расчета")
                        self.progressBar.setValue(35, 65)
                        QApplication.processEvents()
                        try:
                            full_v6.code_4(self.expert.path_to_folder, 3)
                        except Exception:
                            logging.info(traceback.format_exc() + "\n" + "-"*35)
                            msg = QMessageBox()
                            msg.critical(None, "Ошибка", "Ошибка в четвертом этапе расчета")
                            self.progressBar.close()
                            return 3
                        self.progressBar.label.setText("Пятый этап расчета")
                        try:
                            full_v6.code_5(self.expert.path_to_folder, self.expert)
                        except Exception:
                            logging.info(traceback.format_exc() + "\n" + "-"*35)
                            msg = QMessageBox()
                            msg.critical(None, "Ошибка", "Ошибка в пятом этапе расчета")
                            self.progressBar.close()
                            return 3
                        self.progressBar.setValue(65, 75)
                        QApplication.processEvents()

                    if self.expert.engine_type == 'V8':
                        self.progressBar.label.setText("Первый этап расчета")
                        try:
                            full_v8.code_1(self.expert.path_to_folder)
                        except Exception:
                            logging.info(traceback.format_exc() + "\n" + "-"*35)
                            msg = QMessageBox()
                            msg.critical(None, "Ошибка", "Ошибка в первом этапе расчета")
                            self.progressBar.close()
                            return 3
                        self.progressBar.setValue(8, 18)
                        QApplication.processEvents()
                        self.progressBar.label.setText("Второй этап расчета")
                        try:
                            full_v8.code_2(self.expert.path_to_folder)
                        except Exception:
                            logging.info(traceback.format_exc() + "\n" + "-"*35)
                            msg = QMessageBox()
                            msg.critical(None, "Ошибка", "Ошибка во втором этапе расчета")
                            self.progressBar.close()
                            return 3
                        self.progressBar.setValue(18, 35)
                        QApplication.processEvents()
                        self.progressBar.label.setText("Третий этап расчета")
                        QApplication.processEvents()
                        try:
                            full_v8.code_3(self.expert.path_to_folder)
                        except Exception:
                            logging.info(traceback.format_exc() + "\n" + "-"*35)
                            msg = QMessageBox()
                            msg.critical(None, "Ошибка", "Ошибка в третьем этапе расчета")
                            self.progressBar.close()
                            return 3
                        self.progressBar.label.setText("Четвертый этап расчета")
                        self.progressBar.setValue(35, 65)
                        QApplication.processEvents()
                        try:
                            full_v8.code_4(self.expert.path_to_folder, 3)
                        except Exception:
                            logging.info(traceback.format_exc() + "\n" + "-"*35)
                            msg = QMessageBox()
                            msg.critical(None, "Ошибка", "Ошибка в четвертом этапе расчета")
                            self.progressBar.close()
                            return 3
                        self.progressBar.label.setText("Пятый этап расчета")
                        try:
                            full_v8.code_5(self.expert.path_to_folder, self.expert)
                        except Exception:
                            logging.info(traceback.format_exc() + "\n" + "-"*35)
                            msg = QMessageBox()
                            msg.critical(None, "Ошибка", "Ошибка в пятом этапе расчета")
                            self.progressBar.close()
                            return 3
                        self.progressBar.setValue(65, 75)
                        QApplication.processEvents()

                    if self.expert.engine_type == 'V12':
                        self.progressBar.label.setText("Первый этап расчета")
                        try:
                            full_v12.code_1(self.expert.path_to_folder)
                        except Exception:
                            logging.info(traceback.format_exc() + "\n" + "-"*35)
                            msg = QMessageBox()
                            msg.critical(None, "Ошибка", "Ошибка в первом этапе расчета")
                            self.progressBar.close()
                            return 3
                        self.progressBar.setValue(8, 18)
                        QApplication.processEvents()
                        self.progressBar.label.setText("Второй этап расчета")
                        try:
                            full_v12.code_2(self.expert.path_to_folder)
                        except Exception:
                            logging.info(traceback.format_exc() + "\n" + "-"*35)
                            msg = QMessageBox()
                            msg.critical(None, "Ошибка", "Ошибка во втором этапе расчета")
                            self.progressBar.close()
                            return 3
                        self.progressBar.setValue(18, 35)
                        QApplication.processEvents()
                        self.progressBar.label.setText("Третий этап расчета")
                        QApplication.processEvents()
                        try:
                            full_v12.code_3(self.expert.path_to_folder)
                        except Exception:
                            logging.info(traceback.format_exc() + "\n" + "-"*35)
                            msg = QMessageBox()
                            msg.critical(None, "Ошибка", "Ошибка в третьем этапе расчета")
                            self.progressBar.close()
                            return 3
                        self.progressBar.label.setText("Четвертый этап расчета")
                        self.progressBar.setValue(35, 65)
                        QApplication.processEvents()
                        try:
                            full_v12.code_4(self.expert.path_to_folder, 3)
                        except Exception:
                            logging.info(traceback.format_exc() + "\n" + "-"*35)
                            msg = QMessageBox()
                            msg.critical(None, "Ошибка", "Ошибка в четвертом этапе расчета")
                            self.progressBar.close()
                            return 3
                        self.progressBar.label.setText("Пятый этап расчета")
                        try:
                            full_v12.code_5(self.expert.path_to_folder, self.expert)
                        except Exception:
                            logging.info(traceback.format_exc() + "\n" + "-"*35)
                            msg = QMessageBox()
                            msg.critical(None, "Ошибка", "Ошибка в пятом этапе расчета")
                            self.progressBar.close()
                            return 3
                        self.progressBar.setValue(65, 75)
                        QApplication.processEvents()

        if mode != 5:
            self.expert.modes_in_graps.append(mode)

        if self.isChangedMode and mode==5:

            first =  BigMainWidget(True, 'common')
            second = BigMainWidget(True, 'common')
            third = BigMainWidget(True, 'common')


            if not mode in self.expert.modes_in_graps:
                self.progressBar.setValue(75, 83)
                QApplication.processEvents()
            # else:
            #     self.progressBar.setValue(8, 18)
            #     QApplication.processEvents()

            first.engineAdd()
            second.engineAdd()
            third.engineAdd()

            self.add_tab("Диаграмма минимальной толщины масляной пленки в зависимости от оборотов", first)
            self.add_tab("Диаграмма максимального давления масляной пленки в зависимости от оборотов", second)
            self.add_tab("Диаграмма потерь на трение для каждого подшипника в зависимости от оборотов", third)

        if self.isChangedMode and mode !=5:

            # if mode in self.expert.modes_in_graps:
            #     self.progressBar.show()
            #     QApplication.processEvents()
            #     self.progressBar.setValue(0, 8)
            #     QApplication.processEvents()

            first =  BigMainWidget(False, 'main')
            second = BigMainWidget(True, 'main')
            third = BigMainWidget(True, 'main')
            fourth = BigMainWidget(True, 'main')
            fifth = BigMainWidget(True, 'main')
            sixth = BigMainWidget(True, 'main')
            seventh = BigMainWidget(True, 'main')
            eighth = BigMainWidget(True, 'main')

            if not mode in self.expert.modes_in_graps:
                self.progressBar.setValue(75, 83)
                QApplication.processEvents()
            # else:
            #     self.progressBar.setValue(8, 18)
            #     QApplication.processEvents()

            self.add_tab("Индикаторное давление", first)
            self.add_tab("Силы", second)
            self.add_tab("Удельные нагрузки", third)
            self.add_tab("Траектории", fourth)
            self.add_tab("Толщина масляной плёнки", fifth)
            self.add_tab("Угол направления вектора масляной пленки", sixth)
            self.add_tab("Давление масляной плёнки", seventh)
            self.add_tab("Потери на трение", eighth)

            word = '_res.xlsx'
            pattern = f"{self.expert.path_to_folder}/*{word}*"
            
            self.path_to_res =  glob.glob(pattern)[0]

            if not mode in self.expert.modes_in_graps:
                self.progressBar.setValue(83, 87)
                QApplication.processEvents()
            # else:
            #     self.progressBar.setValue(18, 38)
            #     QApplication.processEvents()

            first.engineAdd()
            second.engineAdd()
            third.engineAdd()
            fourth.engineAdd()
            fifth.engineAdd()
            sixth.engineAdd()
            seventh.engineAdd()
            eighth.engineAdd()

            if self.isInit:
                self.AreTabsHereBegin = False

            if not self.AreTabsHereBegin:
                self.AreTabsHereBegin = True
                # print(self.path_to_res)
                grap = Graphics(self.path_to_res, 1)
                PIND = MainWidget(self.path_to_res, 'cartesian')
                first.add_tab('CYLINDER PRESSURE', PIND)

                PIND.graphic.PIND_graphic()
                PIND.graphic.remember_method(grap.PIND_graphic)
                # PIND.graphic.sc.fig.clf()

                PIND.table.new_tab(
                    "CYLINDER PRESSURE",
                    {
                        "PIND": PIND.graphic.excel.getPIND()
                    },
                )
                PIND.remember_tabTable("PIND", "PIND", PIND.graphic.excel.getPIND())
                # print("The tab of PIND was created")

            if not mode in self.expert.modes_in_graps:
                self.progressBar.setValue(87, 93)
                QApplication.processEvents()
            # else:
            #     self.progressBar.setValue(38, 65)
            #     QApplication.processEvents()

            
                # print("fff" + self.path_to_res)
                self.form = Form()
                self.form = self.form

        self.vbox = QtWidgets.QVBoxLayout()
        self.hbox = QtWidgets.QHBoxLayout()

        # self.nomode = QtWidgets.QPushButton("Без режима")
        # self.expert.mode = sorted(self.expert.mode)
        # self.hbox.addWidget(self.nomode)
        # self.nomode.clicked.connect(lambda:self.changeMode(1))

        if 2 in self.expert.modes:
            self.first_mode = QtWidgets.QPushButton("Первый режим")
            self.hbox.addWidget(self.first_mode)
            self.first_mode.clicked.connect(lambda: self.changeMode(2))
        if 3 in self.expert.modes:
            self.second_mode = QtWidgets.QPushButton("Второй режим")
            self.hbox.addWidget(self.second_mode)
            self.second_mode.clicked.connect(lambda: self.changeMode(3))
        if 4 in self.expert.modes:
            self.third_mode = QtWidgets.QPushButton("Третий режим")
            self.hbox.addWidget(self.third_mode)
            self.third_mode.clicked.connect(lambda: self.changeMode(4))
        if len(self.expert.modes) > 1:
            self.common_graps = QtWidgets.QPushButton("Общие графики для режимов")
            self.hbox.addWidget(self.common_graps)
            self.common_graps.clicked.connect(lambda: self.changeMode(5))

        # if self.mode == 1:
        #     self.nomode.setEnabled(False)
        if self.mode == 2:
            self.first_mode.setEnabled(False)
        elif self.mode == 3:
            self.second_mode.setEnabled(False)
        elif self.mode == 4:
            self.third_mode.setEnabled(False)
        elif self.mode == 5:
            self.common_graps.setEnabled(False)

        self.hightWidget = QtWidgets.QWidget()

        if not mode in self.expert.modes_in_graps:
            self.progressBar.setValue(93, 97)
            QApplication.processEvents()
        # else:
        #     self.progressBar.setValue(65, 85)
        #     QApplication.processEvents()

        self.hightWidget.setLayout(self.hbox)

        self.label = QLabel(lbl)
        self.label.setAlignment(Qt.AlignmentFlag.AlignCenter)
        self.label.setStyleSheet("QLabel {font-size: 30px;} ")

        self.vbox.addWidget(self.hightWidget)
        self.vbox.addWidget(self.label)
        self.vbox.addWidget(self.tabWidget)
        self.vbox.addWidget(self.button)

        if not mode in self.expert.modes_in_graps:
            self.progressBar.setValue(97, 100)
            QApplication.processEvents()
        # else:
        #     self.progressBar.setValue(85, 100)
        #     QApplication.processEvents()

        self.widget = QtWidgets.QWidget()
        self.widget.setLayout(self.vbox)
        self.setCentralWidget(self.widget)
        self.progressBar.close()

    def rebootPage(self):
        # self.data.wm = [0 for i in range(8)]
        self.AreTabsHere6 = False
        self.AreTabsHere5 = False
        self.AreTabsHere4 = False
        self.AreTabsHere3 = False
        self.AreTabsHere2 = False
        self.AreTabsHere1 = False
        self.AreTabsHere = False
        self.AreTabsHere0 = False
        # if self.isInit:
        #     Graphics.sc.fig.clf()
        self.isInit = True
        tabs = self.tabWidget.count()
        self.tabWidget.blockSignals(True)
        for i in range(tabs):
            self.tabWidget.removeTab(tabs-i-1)
        self.tabWidget.blockSignals(False)

    def show_form(self):
        print(f"in Beggining: {len(self.data.ugwt1_mode1)} {len(self.data.ugwt1_mode2)} {len(self.data.ugwt1_mode3)}")
        # print("self.expert.paths_to_folders_without_count: {self.expert.paths_to_folders_without_count}")
        if len(self.expert.paths_to_folders_without_count):

            self.progressBar.show()
            QApplication.processEvents()

            # print("self.expert.paths_to_folders_without_count {self.expert.paths_to_folders_without_count}")

            for i in range(len(self.expert.paths_to_folders_without_count)):
                if re.search(f"mode1", self.expert.paths_to_folders_without_count[i]):
                    self.data.current_mode = 2
                    if self.expert.input_mode1 == 2:
                        self.progressBar.setValue(0, 8)
                        QApplication.processEvents()
                        if self.expert.engine_type == 'L3':
                            self.progressBar.setValue(8, 18)
                            QApplication.processEvents()
                            self.progressBar.label.setText("Второй этап расчета")
                            try:
                                full_l3.code_2(self.expert.paths_to_folders_without_count[i])
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка во втором этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.setValue(18, 35)
                            QApplication.processEvents()
                            self.progressBar.label.setText("Третий этап расчета")
                            QApplication.processEvents()
                            try:
                                full_l3.code_3(self.expert.paths_to_folders_without_count[i])
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в третьем этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.label.setText("Четвертый этап расчета")
                            self.progressBar.setValue(35, 65)
                            QApplication.processEvents()
                            try:
                                full_l3.code_4(self.expert.paths_to_folders_without_count[i], 1)
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в четвертом этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.label.setText("Пятый этап расчета")
                            try:
                                full_l3.code_5(self.expert.paths_to_folders_without_count[i], self.expert)
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в пятом этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.setValue(65, 75)
                            QApplication.processEvents()

                        if self.expert.engine_type == 'L4':
                            self.progressBar.setValue(8, 18)
                            QApplication.processEvents()
                            self.progressBar.label.setText("Второй этап расчета")
                            try:
                                full_l4.code_2(self.expert.paths_to_folders_without_count[i])
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка во втором этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.setValue(18, 35)
                            QApplication.processEvents()
                            self.progressBar.label.setText("Третий этап расчета")
                            QApplication.processEvents()
                            try:
                                full_l4.code_3(self.expert.paths_to_folders_without_count[i])
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в третьем этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.label.setText("Четвертый этап расчета")
                            self.progressBar.setValue(35, 65)
                            QApplication.processEvents()
                            try:
                                full_l4.code_4(self.expert.paths_to_folders_without_count[i], 1)
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в четвертом этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.label.setText("Пятый этап расчета")
                            try:
                                full_l4.code_5(self.expert.paths_to_folders_without_count[i], self.expert)
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в пятом этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.setValue(65, 75)
                            QApplication.processEvents()

                        if self.expert.engine_type == 'L6':
                            self.progressBar.setValue(8, 18)
                            QApplication.processEvents()
                            self.progressBar.label.setText("Второй этап расчета")
                            try:
                                full_l6.code_2(self.expert.paths_to_folders_without_count[i])
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка во втором этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.setValue(18, 35)
                            QApplication.processEvents()
                            self.progressBar.label.setText("Третий этап расчета")
                            QApplication.processEvents()
                            try:
                                full_l6.code_3(self.expert.paths_to_folders_without_count[i])
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в третьем этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.label.setText("Четвертый этап расчета")
                            self.progressBar.setValue(35, 65)
                            QApplication.processEvents()
                            try:
                                full_l6.code_4(self.expert.paths_to_folders_without_count[i], 1)
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в четвертом этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.label.setText("Пятый этап расчета")
                            try:
                                full_l6.code_5(self.expert.paths_to_folders_without_count[i], self.expert)
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в пятом этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.setValue(65, 75)
                            QApplication.processEvents()

                        if self.expert.engine_type == 'V6':
                            self.progressBar.setValue(8, 18)
                            QApplication.processEvents()
                            self.progressBar.label.setText("Второй этап расчета")
                            try:
                                full_v6.code_2(self.expert.paths_to_folders_without_count[i])
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка во втором этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.setValue(18, 35)
                            QApplication.processEvents()
                            self.progressBar.label.setText("Третий этап расчета")
                            QApplication.processEvents()
                            try:
                                full_v6.code_3(self.expert.paths_to_folders_without_count[i])
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в третьем этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.label.setText("Четвертый этап расчета")
                            self.progressBar.setValue(35, 65)
                            QApplication.processEvents()
                            try:
                                full_v6.code_4(self.expert.paths_to_folders_without_count[i], 1)
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в четвертом этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.label.setText("Пятый этап расчета")
                            try:
                                full_v6.code_5(self.expert.paths_to_folders_without_count[i], self.expert)
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в пятом этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.setValue(65, 75)
                            QApplication.processEvents()

                        if self.expert.engine_type == 'V8':
                            self.progressBar.setValue(8, 18)
                            QApplication.processEvents()
                            self.progressBar.label.setText("Второй этап расчета")
                            try:
                                full_v8.code_2(self.expert.paths_to_folders_without_count[i])
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка во втором этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.setValue(18, 35)
                            QApplication.processEvents()
                            self.progressBar.label.setText("Третий этап расчета")
                            QApplication.processEvents()
                            try:
                                full_v8.code_3(self.expert.paths_to_folders_without_count[i])
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в третьем этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.label.setText("Четвертый этап расчета")
                            self.progressBar.setValue(35, 65)
                            QApplication.processEvents()
                            try:
                                full_v8.code_4(self.expert.paths_to_folders_without_count[i], 1)
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в четвертом этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.label.setText("Пятый этап расчета")
                            try:
                                full_v8.code_5(self.expert.paths_to_folders_without_count[i], self.expert)
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в пятом этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.setValue(65, 75)
                            QApplication.processEvents()

                        if self.expert.engine_type == 'V12':
                            self.progressBar.setValue(8, 18)
                            QApplication.processEvents()
                            self.progressBar.label.setText("Второй этап расчета")
                            try:
                                full_v12.code_2(self.expert.paths_to_folders_without_count[i])
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка во втором этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.setValue(18, 35)
                            QApplication.processEvents()
                            self.progressBar.label.setText("Третий этап расчета")
                            QApplication.processEvents()
                            try:
                                full_v12.code_3(self.expert.paths_to_folders_without_count[i])
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в третьем этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.label.setText("Четвертый этап расчета")
                            self.progressBar.setValue(35, 65)
                            QApplication.processEvents()
                            try:
                                full_v12.code_4(self.expert.paths_to_folders_without_count[i], 1)
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в четвертом этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.label.setText("Пятый этап расчета")
                            try:
                                full_v12.code_5(self.expert.paths_to_folders_without_count[i], self.expert)
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в пятом этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.setValue(65, 75)
                            QApplication.processEvents()

                    elif self.expert.input_mode1 == 1:
                        self.progressBar.setValue(0, 8)
                        QApplication.processEvents()
                        if self.expert.engine_type == 'L3':
                            self.progressBar.label.setText("Первый этап расчета")
                            try:
                                full_l3.code_1(self.expert.paths_to_folders_without_count[i])
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в первом этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.setValue(8, 18)
                            QApplication.processEvents()
                            self.progressBar.label.setText("Второй этап расчета")
                            try:
                                full_l3.code_2(self.expert.paths_to_folders_without_count[i])
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка во втором этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.setValue(18, 35)
                            QApplication.processEvents()
                            self.progressBar.label.setText("Третий этап расчета")
                            QApplication.processEvents()
                            try:
                                full_l3.code_3(self.expert.paths_to_folders_without_count[i])
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в третьем этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.label.setText("Четвертый этап расчета")
                            self.progressBar.setValue(35, 65)
                            QApplication.processEvents()
                            try:
                                full_l3.code_4(self.expert.paths_to_folders_without_count[i], 1)
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в четвертом этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.label.setText("Пятый этап расчета")
                            try:
                                full_l3.code_5(self.expert.paths_to_folders_without_count[i], self.expert)
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в пятом этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.setValue(65, 75)
                            QApplication.processEvents()

                        if self.expert.engine_type == 'L4':
                            self.progressBar.label.setText("Первый этап расчета")
                            try:
                                full_l4.code_1(self.expert.paths_to_folders_without_count[i])
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в первом этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.setValue(8, 18)
                            QApplication.processEvents()
                            # print(self.expert.paths_to_folders_without_count[i])
                            self.progressBar.label.setText("Второй этап расчета")
                            try:
                                full_l4.code_2(self.expert.paths_to_folders_without_count[i])
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка во втором этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.setValue(18, 35)
                            QApplication.processEvents()
                            self.progressBar.label.setText("Третий этап расчета")
                            QApplication.processEvents()
                            try:
                                full_l4.code_3(self.expert.paths_to_folders_without_count[i])
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в третьем этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.label.setText("Четвертый этап расчета")
                            self.progressBar.setValue(35, 65)
                            QApplication.processEvents()
                            try:
                                full_l4.code_4(self.expert.paths_to_folders_without_count[i], 1)
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в четвертом этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.label.setText("Пятый этап расчета")
                            try:
                                full_l4.code_5(self.expert.paths_to_folders_without_count[i], self.expert)
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в пятом этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.setValue(65, 75)
                            QApplication.processEvents()

                        if self.expert.engine_type == 'L6':
                            self.progressBar.label.setText("Первый этап расчета")
                            try:
                                full_l6.code_1(self.expert.paths_to_folders_without_count[i])
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в первом этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.setValue(8, 18)
                            QApplication.processEvents()
                            self.progressBar.label.setText("Второй этап расчета")
                            try:
                                full_l6.code_2(self.expert.paths_to_folders_without_count[i])
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка во втором этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.setValue(18, 35)
                            QApplication.processEvents()
                            self.progressBar.label.setText("Третий этап расчета")
                            QApplication.processEvents()
                            try:
                                full_l6.code_3(self.expert.paths_to_folders_without_count[i])
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в третьем этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.label.setText("Четвертый этап расчета")
                            self.progressBar.setValue(35, 65)
                            QApplication.processEvents()
                            try:
                                full_l6.code_4(self.expert.paths_to_folders_without_count[i], 1)
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в четвертом этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.label.setText("Пятый этап расчета")
                            try:
                                full_l6.code_5(self.expert.paths_to_folders_without_count[i], self.expert)
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в пятом этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.setValue(65, 75)
                            QApplication.processEvents()

                        if self.expert.engine_type == 'V6':
                            self.progressBar.label.setText("Первый этап расчета")
                            try:
                                full_v6.code_1(self.expert.paths_to_folders_without_count[i])
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в первом этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.setValue(8, 18)
                            QApplication.processEvents()
                            self.progressBar.label.setText("Второй этап расчета")
                            try:
                                full_v6.code_2(self.expert.paths_to_folders_without_count[i])
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка во втором этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.setValue(18, 35)
                            QApplication.processEvents()
                            self.progressBar.label.setText("Третий этап расчета")
                            QApplication.processEvents()
                            try:
                                full_v6.code_3(self.expert.paths_to_folders_without_count[i])
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в третьем этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.label.setText("Четвертый этап расчета")
                            self.progressBar.setValue(35, 65)
                            QApplication.processEvents()
                            try:
                                full_v6.code_4(self.expert.paths_to_folders_without_count[i], 1)
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в четвертом этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.label.setText("Пятый этап расчета")
                            try:
                                full_v6.code_5(self.expert.paths_to_folders_without_count[i], self.expert)
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в пятом этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.setValue(65, 75)
                            QApplication.processEvents()

                        if self.expert.engine_type == 'V8':
                            self.progressBar.label.setText("Первый этап расчета")
                            try:
                                full_v8.code_1(self.expert.paths_to_folders_without_count[i])
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в первом этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.setValue(8, 18)
                            QApplication.processEvents()
                            self.progressBar.label.setText("Второй этап расчета")
                            try:
                                full_v8.code_2(self.expert.paths_to_folders_without_count[i])
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка во втором этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.setValue(18, 35)
                            QApplication.processEvents()
                            self.progressBar.label.setText("Третий этап расчета")
                            QApplication.processEvents()
                            try:
                                full_v8.code_3(self.expert.paths_to_folders_without_count[i])
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в третьем этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.label.setText("Четвертый этап расчета")
                            self.progressBar.setValue(35, 65)
                            QApplication.processEvents()
                            try:
                                full_v8.code_4(self.expert.paths_to_folders_without_count[i], 1)
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в четвертом этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.label.setText("Пятый этап расчета")
                            try:
                                full_v8.code_5(self.expert.paths_to_folders_without_count[i], self.expert)
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в пятом этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.setValue(65, 75)
                            QApplication.processEvents()

                        if self.expert.engine_type == 'V12':
                            self.progressBar.label.setText("Первый этап расчета")
                            try:
                                full_v12.code_1(self.expert.paths_to_folders_without_count[i])
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в первом этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.setValue(8, 18)
                            QApplication.processEvents()
                            self.progressBar.label.setText("Второй этап расчета")
                            try:
                                full_v12.code_2(self.expert.paths_to_folders_without_count[i])
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка во втором этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.setValue(18, 35)
                            QApplication.processEvents()
                            self.progressBar.label.setText("Третий этап расчета")
                            QApplication.processEvents()
                            try:
                                full_v12.code_3(self.expert.paths_to_folders_without_count[i])
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в третьем этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.label.setText("Четвертый этап расчета")
                            self.progressBar.setValue(35, 65)
                            QApplication.processEvents()
                            try:
                                full_v12.code_4(self.expert.paths_to_folders_without_count[i], 1)
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в четвертом этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.label.setText("Пятый этап расчета")
                            try:
                                full_v12.code_5(self.expert.paths_to_folders_without_count[i], self.expert)
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в пятом этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.setValue(65, 75)
                            QApplication.processEvents()

                elif re.search(f"mode2", self.expert.paths_to_folders_without_count[i]):
                    self.data.current_mode = 3
                    if self.expert.input_mode2 == 2:
                        self.progressBar.setValue(0, 8)
                        QApplication.processEvents()
                        if self.expert.engine_type == 'L3':
                            self.progressBar.setValue(8, 18)
                            QApplication.processEvents()
                            self.progressBar.label.setText("Второй этап расчета")
                            try:
                                full_l3.code_2(self.expert.paths_to_folders_without_count[i])
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка во втором этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.setValue(18, 35)
                            QApplication.processEvents()
                            self.progressBar.label.setText("Третий этап расчета")
                            QApplication.processEvents()
                            try:
                                full_l3.code_3(self.expert.paths_to_folders_without_count[i])
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в третьем этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.label.setText("Четвертый этап расчета")
                            self.progressBar.setValue(35, 65)
                            QApplication.processEvents()
                            try:
                                full_l3.code_4(self.expert.paths_to_folders_without_count[i], 2)
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в четвертом этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.label.setText("Пятый этап расчета")
                            try:
                                full_l3.code_5(self.expert.paths_to_folders_without_count[i], self.expert)
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в пятом этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.setValue(65, 75)
                            QApplication.processEvents()

                        if self.expert.engine_type == 'L4':
                            self.progressBar.setValue(8, 18)
                            QApplication.processEvents()
                            self.progressBar.label.setText("Второй этап расчета")
                            try:
                                full_l4.code_2(self.expert.paths_to_folders_without_count[i])
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка во втором этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.setValue(18, 35)
                            QApplication.processEvents()
                            self.progressBar.label.setText("Третий этап расчета")
                            QApplication.processEvents()
                            try:
                                full_l4.code_3(self.expert.paths_to_folders_without_count[i])
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в третьем этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.label.setText("Четвертый этап расчета")
                            self.progressBar.setValue(35, 65)
                            QApplication.processEvents()
                            try:
                                full_l4.code_4(self.expert.paths_to_folders_without_count[i], 2)
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в четвертом этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.label.setText("Пятый этап расчета")
                            try:
                                full_l4.code_5(self.expert.paths_to_folders_without_count[i], self.expert)
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в пятом этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.setValue(65, 75)
                            QApplication.processEvents()

                        if self.expert.engine_type == 'L6':
                            self.progressBar.setValue(8, 18)
                            QApplication.processEvents()
                            self.progressBar.label.setText("Второй этап расчета")
                            try:
                                full_l6.code_2(self.expert.paths_to_folders_without_count[i])
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка во втором этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.setValue(18, 35)
                            QApplication.processEvents()
                            self.progressBar.label.setText("Третий этап расчета")
                            QApplication.processEvents()
                            try:
                                full_l6.code_3(self.expert.paths_to_folders_without_count[i])
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в третьем этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.label.setText("Четвертый этап расчета")
                            self.progressBar.setValue(35, 65)
                            QApplication.processEvents()
                            try:
                                full_l6.code_4(self.expert.paths_to_folders_without_count[i], 2)
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в четвертом этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.label.setText("Пятый этап расчета")
                            try:
                                full_l6.code_5(self.expert.paths_to_folders_without_count[i], self.expert)
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в пятом этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.setValue(65, 75)
                            QApplication.processEvents()

                        if self.expert.engine_type == 'V6':
                            self.progressBar.setValue(8, 18)
                            QApplication.processEvents()
                            self.progressBar.label.setText("Второй этап расчета")
                            try:
                                full_v6.code_2(self.expert.paths_to_folders_without_count[i])
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка во втором этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.setValue(18, 35)
                            QApplication.processEvents()
                            self.progressBar.label.setText("Третий этап расчета")
                            QApplication.processEvents()
                            try:
                                full_v6.code_3(self.expert.paths_to_folders_without_count[i])
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в третьем этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.label.setText("Четвертый этап расчета")
                            self.progressBar.setValue(35, 65)
                            QApplication.processEvents()
                            try:
                                full_v6.code_4(self.expert.paths_to_folders_without_count[i], 2)
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в четвертом этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.label.setText("Пятый этап расчета")
                            try:
                                full_v6.code_5(self.expert.paths_to_folders_without_count[i], self.expert)
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в пятом этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.setValue(65, 75)
                            QApplication.processEvents()

                        if self.expert.engine_type == 'V8':
                            self.progressBar.setValue(8, 18)
                            QApplication.processEvents()
                            self.progressBar.label.setText("Второй этап расчета")
                            try:
                                full_v8.code_2(self.expert.paths_to_folders_without_count[i])
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка во втором этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.setValue(18, 35)
                            QApplication.processEvents()
                            self.progressBar.label.setText("Третий этап расчета")
                            QApplication.processEvents()
                            try:
                                full_v8.code_3(self.expert.paths_to_folders_without_count[i])
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в третьем этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.label.setText("Четвертый этап расчета")
                            self.progressBar.setValue(35, 65)
                            QApplication.processEvents()
                            try:
                                full_v8.code_4(self.expert.paths_to_folders_without_count[i], 2)
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в четвертом этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.label.setText("Пятый этап расчета")
                            try:
                                full_v8.code_5(self.expert.paths_to_folders_without_count[i], self.expert)
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в пятом этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.setValue(65, 75)
                            QApplication.processEvents()

                        if self.expert.engine_type == 'V12':
                            self.progressBar.setValue(8, 18)
                            QApplication.processEvents()
                            self.progressBar.label.setText("Второй этап расчета")
                            try:
                                full_v12.code_2(self.expert.paths_to_folders_without_count[i])
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка во втором этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.setValue(18, 35)
                            QApplication.processEvents()
                            self.progressBar.label.setText("Третий этап расчета")
                            QApplication.processEvents()
                            try:
                                full_v12.code_3(self.expert.paths_to_folders_without_count[i])
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в третьем этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.label.setText("Четвертый этап расчета")
                            self.progressBar.setValue(35, 65)
                            QApplication.processEvents()
                            try:
                                full_v12.code_4(self.expert.paths_to_folders_without_count[i], 2)
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в четвертом этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.label.setText("Пятый этап расчета")
                            try:
                                full_v12.code_5(self.expert.paths_to_folders_without_count[i], self.expert)
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в пятом этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.setValue(65, 75)
                            QApplication.processEvents()

                    elif self.expert.input_mode2 == 1:
                        print("Mode2")
                        self.progressBar.setValue(0, 8)
                        QApplication.processEvents()
                        if self.expert.engine_type == 'L3':
                            print("showForm, 3")
                            self.progressBar.label.setText("Первый этап расчета")
                            try:
                                full_l3.code_1(self.expert.paths_to_folders_without_count[i])
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в первом этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.setValue(8, 18)
                            QApplication.processEvents()
                            self.progressBar.label.setText("Второй этап расчета")
                            try:
                                full_l3.code_2(self.expert.paths_to_folders_without_count[i])
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка во втором этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.setValue(18, 35)
                            QApplication.processEvents()
                            self.progressBar.label.setText("Третий этап расчета")
                            QApplication.processEvents()
                            try:
                                full_l3.code_3(self.expert.paths_to_folders_without_count[i])
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в третьем этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.label.setText("Четвертый этап расчета")
                            self.progressBar.setValue(35, 65)
                            QApplication.processEvents()
                            try:
                                full_l3.code_4(self.expert.paths_to_folders_without_count[i], 2)
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в четвертом этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.label.setText("Пятый этап расчета")
                            try:
                                full_l3.code_5(self.expert.paths_to_folders_without_count[i], self.expert)
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в пятом этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.setValue(65, 75)
                            QApplication.processEvents()

                        if self.expert.engine_type == 'L4':
                            self.progressBar.label.setText("Первый этап расчета")
                            try:
                                full_l4.code_1(self.expert.paths_to_folders_without_count[i])
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в первом этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.setValue(8, 18)
                            QApplication.processEvents()
                            # print(self.expert.paths_to_folders_without_count[i])
                            self.progressBar.label.setText("Второй этап расчета")
                            try:
                                full_l4.code_2(self.expert.paths_to_folders_without_count[i])
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка во втором этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.setValue(18, 35)
                            QApplication.processEvents()
                            self.progressBar.label.setText("Третий этап расчета")
                            QApplication.processEvents()
                            try:
                                full_l4.code_3(self.expert.paths_to_folders_without_count[i])
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в третьем этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.label.setText("Четвертый этап расчета")
                            self.progressBar.setValue(35, 65)
                            QApplication.processEvents()
                            try:
                                full_l4.code_4(self.expert.paths_to_folders_without_count[i], 2)
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в четвертом этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.label.setText("Пятый этап расчета")
                            try:
                                full_l4.code_5(self.expert.paths_to_folders_without_count[i], self.expert)
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в пятом этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.setValue(65, 75)
                            QApplication.processEvents()

                        if self.expert.engine_type == 'L6':
                            self.progressBar.label.setText("Первый этап расчета")
                            try:
                                full_l6.code_1(self.expert.paths_to_folders_without_count[i])
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в первом этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.setValue(8, 18)
                            QApplication.processEvents()
                            self.progressBar.label.setText("Второй этап расчета")
                            try:
                                full_l6.code_2(self.expert.paths_to_folders_without_count[i])
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка во втором этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.setValue(18, 35)
                            QApplication.processEvents()
                            self.progressBar.label.setText("Третий этап расчета")
                            QApplication.processEvents()
                            try:
                                full_l6.code_3(self.expert.paths_to_folders_without_count[i])
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в третьем этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.label.setText("Четвертый этап расчета")
                            self.progressBar.setValue(35, 65)
                            QApplication.processEvents()
                            try:
                                full_l6.code_4(self.expert.paths_to_folders_without_count[i], 2)
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в четвертом этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.label.setText("Пятый этап расчета")
                            try:
                                full_l6.code_5(self.expert.paths_to_folders_without_count[i], self.expert)
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в пятом этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.setValue(65, 75)
                            QApplication.processEvents()

                        if self.expert.engine_type == 'V6':
                            self.progressBar.label.setText("Первый этап расчета")
                            try:
                                full_v6.code_1(self.expert.paths_to_folders_without_count[i])
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в первом этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.setValue(8, 18)
                            QApplication.processEvents()
                            self.progressBar.label.setText("Второй этап расчета")
                            try:
                                full_v6.code_2(self.expert.paths_to_folders_without_count[i])
                            except Exception:
                                logging.info(str(traceback.format_exc()) + "*"*25)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка во втором этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.setValue(18, 35)
                            QApplication.processEvents()
                            self.progressBar.label.setText("Третий этап расчета")
                            QApplication.processEvents()
                            try:
                                full_v6.code_3(self.expert.paths_to_folders_without_count[i])
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в третьем этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.label.setText("Четвертый этап расчета")
                            self.progressBar.setValue(35, 65)
                            QApplication.processEvents()
                            try:
                                full_v6.code_4(self.expert.paths_to_folders_without_count[i], 2)
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в четвертом этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.label.setText("Пятый этап расчета")
                            try:
                                full_v6.code_5(self.expert.paths_to_folders_without_count[i], self.expert)
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в пятом этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.setValue(65, 75)
                            QApplication.processEvents()

                        if self.expert.engine_type == 'V8':
                            self.progressBar.label.setText("Первый этап расчета")
                            try:
                                full_v8.code_1(self.expert.paths_to_folders_without_count[i])
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в первом этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.setValue(8, 18)
                            QApplication.processEvents()
                            self.progressBar.label.setText("Второй этап расчета")
                            try:
                                full_v8.code_2(self.expert.paths_to_folders_without_count[i])
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка во втором этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.setValue(18, 35)
                            QApplication.processEvents()
                            self.progressBar.label.setText("Третий этап расчета")
                            QApplication.processEvents()
                            try:
                                full_v8.code_3(self.expert.paths_to_folders_without_count[i])
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в третьем этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.label.setText("Четвертый этап расчета")
                            self.progressBar.setValue(35, 65)
                            QApplication.processEvents()
                            try:
                                full_v8.code_4(self.expert.paths_to_folders_without_count[i], 2)
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в четвертом этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.label.setText("Пятый этап расчета")
                            try:
                                full_v8.code_5(self.expert.paths_to_folders_without_count[i], self.expert)
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в пятом этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.setValue(65, 75)
                            QApplication.processEvents()

                        if self.expert.engine_type == 'V12':
                            self.progressBar.label.setText("Первый этап расчета")
                            try:
                                full_v12.code_1(self.expert.paths_to_folders_without_count[i])
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в первом этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.setValue(8, 18)
                            QApplication.processEvents()
                            self.progressBar.label.setText("Второй этап расчета")
                            try:
                                full_v12.code_2(self.expert.paths_to_folders_without_count[i])
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка во втором этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.setValue(18, 35)
                            QApplication.processEvents()
                            self.progressBar.label.setText("Третий этап расчета")
                            QApplication.processEvents()
                            try:
                                full_v12.code_3(self.expert.paths_to_folders_without_count[i])
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в третьем этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.label.setText("Четвертый этап расчета")
                            self.progressBar.setValue(35, 65)
                            QApplication.processEvents()
                            try:
                                full_v12.code_4(self.expert.paths_to_folders_without_count[i], 2)
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в четвертом этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.label.setText("Пятый этап расчета")
                            try:
                                full_v12.code_5(self.expert.paths_to_folders_without_count[i], self.expert)
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в пятом этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.setValue(65, 75)
                            QApplication.processEvents()

                elif re.search(f"mode3", self.expert.paths_to_folders_without_count[i]):
                    self.data.current_mode = 4
                    if self.expert.input_mode3 == 2:
                        self.progressBar.setValue(0, 8)
                        QApplication.processEvents()
                        if self.expert.engine_type == 'L3':
                            self.progressBar.setValue(8, 18)
                            QApplication.processEvents()
                            self.progressBar.label.setText("Второй этап расчета")
                            try:
                                full_l3.code_2(self.expert.paths_to_folders_without_count[i])
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка во втором этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.setValue(18, 35)
                            QApplication.processEvents()
                            self.progressBar.label.setText("Третий этап расчета")
                            QApplication.processEvents()
                            try:
                                full_l3.code_3(self.expert.paths_to_folders_without_count[i])
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в третьем этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.label.setText("Четвертый этап расчета")
                            self.progressBar.setValue(35, 65)
                            QApplication.processEvents()
                            try:
                                full_l3.code_4(self.expert.paths_to_folders_without_count[i], 3)
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в четвертом этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.label.setText("Пятый этап расчета")
                            try:
                                full_l3.code_5(self.expert.paths_to_folders_without_count[i], self.expert)
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в пятом этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.setValue(65, 75)
                            QApplication.processEvents()

                        if self.expert.engine_type == 'L4':
                            self.progressBar.setValue(8, 18)
                            QApplication.processEvents()
                            self.progressBar.label.setText("Второй этап расчета")
                            try:
                                full_l4.code_2(self.expert.paths_to_folders_without_count[i])
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка во втором этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.setValue(18, 35)
                            QApplication.processEvents()
                            self.progressBar.label.setText("Третий этап расчета")
                            QApplication.processEvents()
                            try:
                                full_l4.code_3(self.expert.paths_to_folders_without_count[i])
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в третьем этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.label.setText("Четвертый этап расчета")
                            self.progressBar.setValue(35, 65)
                            QApplication.processEvents()
                            try:
                                full_l4.code_4(self.expert.paths_to_folders_without_count[i], 3)
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в четвертом этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.label.setText("Пятый этап расчета")
                            try:
                                full_l4.code_5(self.expert.paths_to_folders_without_count[i], self.expert)
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в пятом этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.setValue(65, 75)
                            QApplication.processEvents()

                        if self.expert.engine_type == 'L6':
                            self.progressBar.setValue(8, 18)
                            QApplication.processEvents()
                            self.progressBar.label.setText("Второй этап расчета")
                            try:
                                full_l6.code_2(self.expert.paths_to_folders_without_count[i])
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка во втором этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.setValue(18, 35)
                            QApplication.processEvents()
                            self.progressBar.label.setText("Третий этап расчета")
                            QApplication.processEvents()
                            try:
                                full_l6.code_3(self.expert.paths_to_folders_without_count[i])
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в третьем этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.label.setText("Четвертый этап расчета")
                            self.progressBar.setValue(35, 65)
                            QApplication.processEvents()
                            try:
                                full_l6.code_4(self.expert.paths_to_folders_without_count[i], 3)
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в четвертом этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.label.setText("Пятый этап расчета")
                            try:
                                full_l6.code_5(self.expert.paths_to_folders_without_count[i], self.expert)
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в пятом этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.setValue(65, 75)
                            QApplication.processEvents()

                        if self.expert.engine_type == 'V6':
                            self.progressBar.setValue(8, 18)
                            QApplication.processEvents()
                            self.progressBar.label.setText("Второй этап расчета")
                            try:
                                full_v6.code_2(self.expert.paths_to_folders_without_count[i])
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка во втором этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.setValue(18, 35)
                            QApplication.processEvents()
                            self.progressBar.label.setText("Третий этап расчета")
                            QApplication.processEvents()
                            try:
                                full_v6.code_3(self.expert.paths_to_folders_without_count[i])
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в третьем этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.label.setText("Четвертый этап расчета")
                            self.progressBar.setValue(35, 65)
                            QApplication.processEvents()
                            try:
                                full_v6.code_4(self.expert.paths_to_folders_without_count[i], 3)
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в четвертом этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.label.setText("Пятый этап расчета")
                            try:
                                full_v6.code_5(self.expert.paths_to_folders_without_count[i], self.expert)
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в пятом этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.setValue(65, 75)
                            QApplication.processEvents()

                        if self.expert.engine_type == 'V8':
                            self.progressBar.setValue(8, 18)
                            QApplication.processEvents()
                            self.progressBar.label.setText("Второй этап расчета")
                            try:
                                full_v8.code_2(self.expert.paths_to_folders_without_count[i])
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка во втором этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.setValue(18, 35)
                            QApplication.processEvents()
                            self.progressBar.label.setText("Третий этап расчета")
                            QApplication.processEvents()
                            try:
                                full_v8.code_3(self.expert.paths_to_folders_without_count[i])
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в третьем этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.label.setText("Четвертый этап расчета")
                            self.progressBar.setValue(35, 65)
                            QApplication.processEvents()
                            try:
                                full_v8.code_4(self.expert.paths_to_folders_without_count[i], 3)
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в четвертом этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.label.setText("Пятый этап расчета")
                            try:
                                full_v8.code_5(self.expert.paths_to_folders_without_count[i], self.expert)
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в пятом этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.setValue(65, 75)
                            QApplication.processEvents()

                        if self.expert.engine_type == 'V12':
                            self.progressBar.setValue(8, 18)
                            QApplication.processEvents()
                            self.progressBar.label.setText("Второй этап расчета")
                            try:
                                full_v12.code_2(self.expert.paths_to_folders_without_count[i])
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка во втором этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.setValue(18, 35)
                            QApplication.processEvents()
                            self.progressBar.label.setText("Третий этап расчета")
                            QApplication.processEvents()
                            try:
                                full_v12.code_3(self.expert.paths_to_folders_without_count[i])
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в третьем этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.label.setText("Четвертый этап расчета")
                            self.progressBar.setValue(35, 65)
                            QApplication.processEvents()
                            try:
                                full_v12.code_4(self.expert.paths_to_folders_without_count[i], 3)
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в четвертом этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.label.setText("Пятый этап расчета")
                            try:
                                full_v12.code_5(self.expert.paths_to_folders_without_count[i], self.expert)
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в пятом этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.setValue(65, 75)
                            QApplication.processEvents()

                    elif self.expert.input_mode3 == 1:
                        self.progressBar.setValue(0, 8)
                        QApplication.processEvents()
                        if self.expert.engine_type == 'L3':
                            self.progressBar.label.setText("Первый этап расчета")
                            try:
                                full_l3.code_1(self.expert.paths_to_folders_without_count[i])
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в первом этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.setValue(8, 18)
                            QApplication.processEvents()
                            self.progressBar.label.setText("Второй этап расчета")
                            try:
                                full_l3.code_2(self.expert.paths_to_folders_without_count[i])
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка во втором этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.setValue(18, 35)
                            QApplication.processEvents()
                            self.progressBar.label.setText("Третий этап расчета")
                            QApplication.processEvents()
                            try:
                                full_l3.code_3(self.expert.paths_to_folders_without_count[i])
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в третьем этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.label.setText("Четвертый этап расчета")
                            self.progressBar.setValue(35, 65)
                            QApplication.processEvents()
                            try:
                                full_l3.code_4(self.expert.paths_to_folders_without_count[i], 3)
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в четвертом этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.label.setText("Пятый этап расчета")
                            try:
                                full_l3.code_5(self.expert.paths_to_folders_without_count[i], self.expert)
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в пятом этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.setValue(65, 75)
                            QApplication.processEvents()

                        if self.expert.engine_type == 'L4':
                            self.progressBar.label.setText("Первый этап расчета")
                            try:
                                full_l4.code_1(self.expert.paths_to_folders_without_count[i])
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в первом этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.setValue(8, 18)
                            QApplication.processEvents()
                            # print(self.expert.paths_to_folders_without_count[i])
                            self.progressBar.label.setText("Второй этап расчета")
                            try:
                                full_l4.code_2(self.expert.paths_to_folders_without_count[i])
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка во втором этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.setValue(18, 35)
                            QApplication.processEvents()
                            self.progressBar.label.setText("Третий этап расчета")
                            QApplication.processEvents()
                            try:
                                full_l4.code_3(self.expert.paths_to_folders_without_count[i])
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в третьем этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.label.setText("Четвертый этап расчета")
                            self.progressBar.setValue(35, 65)
                            QApplication.processEvents()
                            try:
                                full_l4.code_4(self.expert.paths_to_folders_without_count[i], 3)
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в четвертом этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.label.setText("Пятый этап расчета")
                            try:
                                full_l4.code_5(self.expert.paths_to_folders_without_count[i], self.expert)
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в пятом этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.setValue(65, 75)
                            QApplication.processEvents()

                        if self.expert.engine_type == 'L6':
                            self.progressBar.label.setText("Первый этап расчета")
                            try:
                                full_l6.code_1(self.expert.paths_to_folders_without_count[i])
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в первом этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.setValue(8, 18)
                            QApplication.processEvents()
                            self.progressBar.label.setText("Второй этап расчета")
                            try:
                                full_l6.code_2(self.expert.paths_to_folders_without_count[i])
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка во втором этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.setValue(18, 35)
                            QApplication.processEvents()
                            self.progressBar.label.setText("Третий этап расчета")
                            QApplication.processEvents()
                            try:
                                full_l6.code_3(self.expert.paths_to_folders_without_count[i])
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в третьем этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.label.setText("Четвертый этап расчета")
                            self.progressBar.setValue(35, 65)
                            QApplication.processEvents()
                            try:
                                full_l6.code_4(self.expert.paths_to_folders_without_count[i], 3)
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в четвертом этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.label.setText("Пятый этап расчета")
                            try:
                                full_l6.code_5(self.expert.paths_to_folders_without_count[i], self.expert)
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в пятом этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.setValue(65, 75)
                            QApplication.processEvents()

                        if self.expert.engine_type == 'V6':
                            self.progressBar.label.setText("Первый этап расчета")
                            try:
                                full_v6.code_1(self.expert.paths_to_folders_without_count[i])
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в первом этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.setValue(8, 18)
                            QApplication.processEvents()
                            self.progressBar.label.setText("Второй этап расчета")
                            try:
                                full_v6.code_2(self.expert.paths_to_folders_without_count[i])
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка во втором этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.setValue(18, 35)
                            QApplication.processEvents()
                            self.progressBar.label.setText("Третий этап расчета")
                            QApplication.processEvents()
                            try:
                                full_v6.code_3(self.expert.paths_to_folders_without_count[i])
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в третьем этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.label.setText("Четвертый этап расчета")
                            self.progressBar.setValue(35, 65)
                            QApplication.processEvents()
                            try:
                                full_v6.code_4(self.expert.paths_to_folders_without_count[i], 3)
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в четвертом этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.label.setText("Пятый этап расчета")
                            try:
                                full_v6.code_5(self.expert.paths_to_folders_without_count[i], self.expert)
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в пятом этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.setValue(65, 75)
                            QApplication.processEvents()

                        if self.expert.engine_type == 'V8':
                            self.progressBar.label.setText("Первый этап расчета")
                            try:
                                full_v8.code_1(self.expert.paths_to_folders_without_count[i])
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в первом этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.setValue(8, 18)
                            QApplication.processEvents()
                            self.progressBar.label.setText("Второй этап расчета")
                            try:
                                full_v8.code_2(self.expert.paths_to_folders_without_count[i])
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка во втором этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.setValue(18, 35)
                            QApplication.processEvents()
                            self.progressBar.label.setText("Третий этап расчета")
                            QApplication.processEvents()
                            try:
                                full_v8.code_3(self.expert.paths_to_folders_without_count[i])
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в третьем этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.label.setText("Четвертый этап расчета")
                            self.progressBar.setValue(35, 65)
                            QApplication.processEvents()
                            try:
                                full_v8.code_4(self.expert.paths_to_folders_without_count[i], 3)
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в четвертом этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.label.setText("Пятый этап расчета")
                            try:
                                full_v8.code_5(self.expert.paths_to_folders_without_count[i], self.expert)
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в пятом этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.setValue(65, 75)
                            QApplication.processEvents()

                        if self.expert.engine_type == 'V12':
                            self.progressBar.label.setText("Первый этап расчета")
                            try:
                                full_v12.code_1(self.expert.paths_to_folders_without_count[i])
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в первом этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.setValue(8, 18)
                            QApplication.processEvents()
                            self.progressBar.label.setText("Второй этап расчета")
                            try:
                                full_v12.code_2(self.expert.paths_to_folders_without_count[i])
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка во втором этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.setValue(18, 35)
                            QApplication.processEvents()
                            self.progressBar.label.setText("Третий этап расчета")
                            QApplication.processEvents()
                            try:
                                full_v12.code_3(self.expert.paths_to_folders_without_count[i])
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в третьем этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.label.setText("Четвертый этап расчета")
                            self.progressBar.setValue(35, 65)
                            QApplication.processEvents()
                            try:
                                full_v12.code_4(self.expert.paths_to_folders_without_count[i], 3)
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в четвертом этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.label.setText("Пятый этап расчета")
                            try:
                                full_v12.code_5(self.expert.paths_to_folders_without_count[i], self.expert)
                            except Exception:
                                logging.info(traceback.format_exc() + "\n" + "-"*35)
                                msg = QMessageBox()
                                msg.critical(None, "Ошибка", "Ошибка в пятом этапе расчета")
                                self.progressBar.close()
                                return 3
                            self.progressBar.setValue(65, 75)
                            QApplication.processEvents()

            # self.progressBar.setValue(75, 85)
            # QApplication.processEvents()
            self.progressBar.close()
            self.expert.paths_to_folders_without_count = []
        print(f"in End: {len(self.data.ugwt1_mode1)} {len(self.data.ugwt1_mode2)} {len(self.data.ugwt1_mode3)}")
        self.form = Form()
        self.form.show()

    def changeMode(self, mode):
        self.isChangedMode = True
        self.rebootPage()
        self.setLabel(mode)

    def closeEvent(self, event):
        self.rebootPage()
        self.isChangedMode = False
        self.data.ugwt_mode1 = []
        self.data.ugwt1_mode1 = []
        self.data.ugwt2_mode1 = []
        self.data.ugwt3_mode1 = []
        self.data.ugwt4_mode1 = []
        self.data.ugwt5_mode1 = []
        self.data.ugwt6_mode1 = []
        self.data.ugwt7_mode1 = []

        self.data.ugwt_mode2 = []
        self.data.ugwt1_mode2 = []
        self.data.ugwt2_mode2 = []
        self.data.ugwt3_mode2 = []
        self.data.ugwt4_mode2 = []
        self.data.ugwt5_mode2 = []
        self.data.ugwt6_mode2 = []
        self.data.ugwt7_mode2 = []

        self.data.ugwt_mode3 = []
        self.data.ugwt1_mode3 = []
        self.data.ugwt2_mode3 = []
        self.data.ugwt3_mode3 = []
        self.data.ugwt4_mode3 = []
        self.data.ugwt5_mode3 = []
        self.data.ugwt6_mode3 = []
        self.data.ugwt7_mode3 = []
        event.accept()

        
    
    def enginesAdd(self, dict_excel):
      self.dict_from_excel = dict_excel
      self.dict_engine = {
          1: "L4",
          2: "L6",
          3: "V8",
          4: "L3",
          5: "V6",
          6: "V12"
      }
      self.engine = self.dict_engine[self.dict_from_excel['cil']]


    def tabchange(self):
    #   print(self.AreTabsHere)
      if self.tabWidget.currentIndex() == 0 and self.tabWidget.widget(0).flag == True and not self.AreTabsHere0:

        self.AreTabsHere0 = True


        self.conRodBearing = MiddleMainWidget("common_graps_hmin")
        self.firstRootBearing = MiddleMainWidget("common_graps_hmin")
        self.secondRootBearing = MiddleMainWidget("common_graps_hmin")
        self.thirdRootBearing = MiddleMainWidget("common_graps_hmin")
        self.fourthRootBearing = MiddleMainWidget("common_graps_hmin")
        
        if self.engine == "L4" or self.engine == "V8":
            self.fifthRootBearing = MiddleMainWidget("common_graps_hmin")
        
        if self.engine == "L6" or self.engine == "V12":
            self.fifthRootBearing = MiddleMainWidget("common_graps_hmin")
            self.sixthRootBearing = MiddleMainWidget("common_graps_hmin")
            self.seventhRootBearing = MiddleMainWidget("common_graps_hmin")

        self.tabWidget.widget(0).add_tab("Шатунный подшипник", self.conRodBearing)
        self.tabWidget.widget(0).add_tab("1-ый коренной подшипник", self.firstRootBearing)
        self.tabWidget.widget(0).add_tab("2-ой коренной подшипник", self.secondRootBearing)
        self.tabWidget.widget(0).add_tab("3-ий коренной подшипник", self.thirdRootBearing)
        self.tabWidget.widget(0).add_tab("4-ый коренной подшипник", self.fourthRootBearing)

        if self.engine == "L4" or self.engine == "V8":
            self.tabWidget.widget(0).add_tab("5-ый коренной подшипник", self.fifthRootBearing)
        
        if self.engine == "L6" or self.engine == "V12":
            self.tabWidget.widget(0).add_tab("5-ый коренной подшипник", self.fifthRootBearing)
            self.tabWidget.widget(0).add_tab("6-ой коренной подшипник", self.sixthRootBearing)
            self.tabWidget.widget(0).add_tab("7-ой коренной подшипник", self.seventhRootBearing)

      
      elif self.tabWidget.currentIndex() == 1 and not self.AreTabsHere and self.tabWidget.widget(1).target == 'common':

        self.AreTabsHere = True


        self.conRodBearing = MiddleMainWidget("common_graps_dm")
        self.firstRootBearing = MiddleMainWidget("common_graps_dm")
        self.secondRootBearing = MiddleMainWidget("common_graps_dm")
        self.thirdRootBearing = MiddleMainWidget("common_graps_dm")
        self.fourthRootBearing = MiddleMainWidget("common_graps_dm")
        
        if self.engine == "L4" or self.engine == "V8":
            self.fifthRootBearing = MiddleMainWidget("common_graps_dm")
        
        if self.engine == "L6" or self.engine == "V12":
            self.fifthRootBearing = MiddleMainWidget("common_graps_dm")
            self.sixthRootBearing = MiddleMainWidget("common_graps_dm")
            self.seventhRootBearing = MiddleMainWidget("common_graps_dm")


        self.tabWidget.widget(1).add_tab("Шатунный подшипник", self.conRodBearing)
        self.tabWidget.widget(1).add_tab("1-ый коренной подшипник", self.firstRootBearing)
        self.tabWidget.widget(1).add_tab("2-ой коренной подшипник", self.secondRootBearing)
        self.tabWidget.widget(1).add_tab("3-ий коренной подшипник", self.thirdRootBearing)
        self.tabWidget.widget(1).add_tab("4-ый коренной подшипник", self.fourthRootBearing)

        if self.engine == "L4" or self.engine == "V8":
            self.tabWidget.widget(1).add_tab("5-ый коренной подшипник", self.fifthRootBearing)
        
        if self.engine == "L6" or self.engine == "V12":
            self.tabWidget.widget(1).add_tab("5-ый коренной подшипник", self.fifthRootBearing)
            self.tabWidget.widget(1).add_tab("6-ой коренной подшипник", self.sixthRootBearing)
            self.tabWidget.widget(1).add_tab("7-ой коренной подшипник", self.seventhRootBearing)

      elif self.tabWidget.currentIndex() == 1 and not self.AreTabsHere and self.tabWidget.widget(1).target == 'main':
        # print(self.mode)
        if self.mode == 1:
            self.pattern = f"{f'data'}/*{'_res.xlsx'}*"
        elif self.mode == 2:
            self.pattern = f"{f'data/mode1'}/*{'_res.xlsx'}*"
        elif self.mode == 3:
            self.pattern = f"{f'data/mode2'}/*{'_res.xlsx'}*"
        elif self.mode == 4:
            self.pattern = f"{f'data/mode3'}/*{'_res.xlsx'}*"
        self.path_to_res =  glob.glob(self.pattern)[0]
        #FSUM
        self.AreTabsHere = True
        # print("path_to_res " + self.path_to_res)

        self.conRodBearing = MiddleMainWidget("forces")
        self.firstRootBearing = MiddleMainWidget("forces")
        self.secondRootBearing = MiddleMainWidget("forces")
        self.thirdRootBearing = MiddleMainWidget("forces")
        self.fourthRootBearing = MiddleMainWidget("forces")
        
        if self.engine == "L4" or self.engine == "V8":
            self.fifthRootBearing = MiddleMainWidget("forces")
        
        if self.engine == "L6" or self.engine == "V12":
            self.fifthRootBearing = MiddleMainWidget("forces")
            self.sixthRootBearing = MiddleMainWidget("forces")
            self.seventhRootBearing = MiddleMainWidget("forces")

        # self.sum = MiddleMainWidget("forces")

        self.tabWidget.widget(1).add_tab("Шатунный подшипник", self.conRodBearing)
        self.tabWidget.widget(1).add_tab("1-ый коренной подшипник", self.firstRootBearing)
        self.tabWidget.widget(1).add_tab("2-ой коренной подшипник", self.secondRootBearing)
        self.tabWidget.widget(1).add_tab("3-ий коренной подшипник", self.thirdRootBearing)
        self.tabWidget.widget(1).add_tab("4-ый коренной подшипник", self.fourthRootBearing)
        # print('4_ый коренной')
        if self.engine == "L4" or self.engine == "V8":
            self.tabWidget.widget(1).add_tab("5-ый коренной подшипник", self.fifthRootBearing)
        
        if self.engine == "L6" or self.engine == "V12":
            self.tabWidget.widget(1).add_tab("5-ый коренной подшипник", self.fifthRootBearing)
            self.tabWidget.widget(1).add_tab("6-ой коренной подшипник", self.sixthRootBearing)
            self.tabWidget.widget(1).add_tab("7-ой коренной подшипник", self.seventhRootBearing)
      
        # self.tabWidget.widget(1).add_tab("Максимальные удельные нагрузки", self.sum)
            
      elif self.tabWidget.currentIndex() == 2 and not self.AreTabsHere1 and self.tabWidget.widget(2).target == 'common':

        self.AreTabsHere1 = True

        self.conRodBearing = MiddleMainWidget("common_graps_loss")
        self.firstRootBearing = MiddleMainWidget("common_graps_loss")
        self.secondRootBearing = MiddleMainWidget("common_graps_loss")
        self.thirdRootBearing = MiddleMainWidget("common_graps_loss")
        self.fourthRootBearing = MiddleMainWidget("common_graps_loss")
        
        if self.engine == "L4" or self.engine == "V8":
            self.fifthRootBearing = MiddleMainWidget("common_graps_loss")
        
        if self.engine == "L6" or self.engine == "V12":
            self.fifthRootBearing = MiddleMainWidget("common_graps_loss")
            self.sixthRootBearing = MiddleMainWidget("common_graps_loss")
            self.seventhRootBearing = MiddleMainWidget("common_graps_loss")

        self.tabWidget.widget(2).add_tab("Шатунный подшипник", self.conRodBearing)
        self.tabWidget.widget(2).add_tab("1-ый коренной подшипник", self.firstRootBearing)
        self.tabWidget.widget(2).add_tab("2-ой коренной подшипник", self.secondRootBearing)
        self.tabWidget.widget(2).add_tab("3-ий коренной подшипник", self.thirdRootBearing)
        self.tabWidget.widget(2).add_tab("4-ый коренной подшипник", self.fourthRootBearing)

        if self.engine == "L4" or self.engine == "V8":
            self.tabWidget.widget(2).add_tab("5-ый коренной подшипник", self.fifthRootBearing)
        
        if self.engine == "L6" or self.engine == "V12":
            self.tabWidget.widget(2).add_tab("5-ый коренной подшипник", self.fifthRootBearing)
            self.tabWidget.widget(2).add_tab("6-ой коренной подшипник", self.sixthRootBearing)
            self.tabWidget.widget(2).add_tab("7-ой коренной подшипник", self.seventhRootBearing)


      elif self.tabWidget.currentIndex() == 2 and not self.AreTabsHere1 and self.tabWidget.widget(2).target == 'main':
        if self.mode == 1:
            self.pattern = f"{f'data'}/*{'_res.xlsx'}*"
        elif self.mode == 2:
            self.pattern = f"{f'data/mode1'}/*{'_res.xlsx'}*"
        elif self.mode == 3:
            self.pattern = f"{f'data/mode2'}/*{'_res.xlsx'}*"
        elif self.mode == 4:
            self.pattern = f"{f'data/mode3'}/*{'_res.xlsx'}*"
        self.path_to_res =  glob.glob(self.pattern)[0]
        #FSUM
        self.AreTabsHere1 = True

        self.conRodBearing = MiddleMainWidget("specific loads")
        self.firstRootBearing = MiddleMainWidget("specific loads")
        self.secondRootBearing = MiddleMainWidget("specific loads")
        self.thirdRootBearing = MiddleMainWidget("specific loads")
        self.fourthRootBearing = MiddleMainWidget("specific loads")
        
        if self.engine == "L4" or self.engine == "V8":
            self.fifthRootBearing = MiddleMainWidget("specific loads")
        
        if self.engine == "L6" or self.engine == "V12":
            self.fifthRootBearing = MiddleMainWidget("specific loads")
            self.sixthRootBearing = MiddleMainWidget("specific loads")
            self.seventhRootBearing = MiddleMainWidget("specific loads")
        
        self.sum = MiddleMainWidget("specific loads")

        # print("В MainWidget " + str(self.tabWidget.widget(0)))
        # self.tabWidget.setCurrentIndex(10)
        self.tabWidget.widget(2).add_tab("Шатунный подшипник", self.conRodBearing)
        self.tabWidget.widget(2).add_tab("1-ый коренной подшипник", self.firstRootBearing)
        self.tabWidget.widget(2).add_tab("2-ой коренной подшипник", self.secondRootBearing)
        self.tabWidget.widget(2).add_tab("3-ий коренной подшипник", self.thirdRootBearing)
        self.tabWidget.widget(2).add_tab("4-ый коренной подшипник", self.fourthRootBearing)

        if self.engine == "L4" or self.engine == "V8":
            self.tabWidget.widget(2).add_tab("5-ый коренной подшипник", self.fifthRootBearing)
        
        if self.engine == "L6" or self.engine == "V12":
            self.tabWidget.widget(2).add_tab("5-ый коренной подшипник", self.fifthRootBearing)
            self.tabWidget.widget(2).add_tab("6-ой коренной подшипник", self.sixthRootBearing)
            self.tabWidget.widget(2).add_tab("7-ой коренной подшипник", self.seventhRootBearing)

        self.tabWidget.widget(2).add_tab("Максимальные удельные нагрузки", self.sum)

      elif self.tabWidget.currentIndex() == 3 and not self.AreTabsHere2 and self.tabWidget.widget(3).target == 'main':
        #FSUM
        self.AreTabsHere2 = True

        self.conRodBearing = MiddleMainWidget("trajectories")
        self.firstRootBearing = MiddleMainWidget("trajectories")
        self.secondRootBearing = MiddleMainWidget("trajectories")
        self.thirdRootBearing = MiddleMainWidget("trajectories")
        self.fourthRootBearing = MiddleMainWidget("trajectories")
        
        if self.engine == "L4" or self.engine == "V8":
            self.fifthRootBearing = MiddleMainWidget("trajectories")
        
        if self.engine == "L6" or self.engine == "V12":
            self.fifthRootBearing = MiddleMainWidget("trajectories")
            self.sixthRootBearing = MiddleMainWidget("trajectories")
            self.seventhRootBearing = MiddleMainWidget("trajectories")

        self.tabWidget.widget(3).add_tab("Шатунный подшипник", self.conRodBearing)
        self.tabWidget.widget(3).add_tab("1-ый коренной подшипник", self.firstRootBearing)
        self.tabWidget.widget(3).add_tab("2-ой коренной подшипник", self.secondRootBearing)
        self.tabWidget.widget(3).add_tab("3-ий коренной подшипник", self.thirdRootBearing)
        self.tabWidget.widget(3).add_tab("4-ый коренной подшипник", self.fourthRootBearing)

        if self.engine == "L4" or self.engine == "V8":
            self.tabWidget.widget(3).add_tab("5-ый коренной подшипник", self.fifthRootBearing)
        
        if self.engine == "L6" or self.engine == "V12":
            self.tabWidget.widget(3).add_tab("5-ый коренной подшипник", self.fifthRootBearing)
            self.tabWidget.widget(3).add_tab("6-ой коренной подшипник", self.sixthRootBearing)
            self.tabWidget.widget(3).add_tab("7-ой коренной подшипник", self.seventhRootBearing)

      elif self.tabWidget.currentIndex() == 4 and not self.AreTabsHere3 and self.tabWidget.widget(4).target == 'main':

        if self.mode == 1:
            self.pattern = f"{f'data'}/*{'_res.xlsx'}*"
        elif self.mode == 2:
            self.pattern = f"{f'data/mode1'}/*{'_res.xlsx'}*"
        elif self.mode == 3:
            self.pattern = f"{f'data/mode2'}/*{'_res.xlsx'}*"
        elif self.mode == 4:
            self.pattern = f"{f'data/mode3'}/*{'_res.xlsx'}*"
        self.path_to_res =  glob.glob(self.pattern)[0]

        self.AreTabsHere3 = True

        ####

        self.conRodBearing = MiddleMainWidget("hmin")
        self.firstRootBearing = MiddleMainWidget("hmin")
        self.secondRootBearing = MiddleMainWidget("hmin")
        self.thirdRootBearing = MiddleMainWidget("hmin")
        self.fourthRootBearing = MiddleMainWidget("hmin")
        
        if self.engine == "L4" or self.engine == "V8":
            self.fifthRootBearing = MiddleMainWidget("hmin")
        
        if self.engine == "L6" or self.engine == "V12":
            self.fifthRootBearing = MiddleMainWidget("hmin")
            self.sixthRootBearing = MiddleMainWidget("hmin")
            self.seventhRootBearing = MiddleMainWidget("hmin")

        self.sum = MiddleMainWidget("hmin")
        # self.distributions = MiddleMainWidget("hmin")

        self.tabWidget.widget(4).add_tab("Шатунный подшипник", self.conRodBearing)
        self.tabWidget.widget(4).add_tab("1-ый коренной подшипник", self.firstRootBearing)
        self.tabWidget.widget(4).add_tab("2-ой коренной подшипник", self.secondRootBearing)
        self.tabWidget.widget(4).add_tab("3-ий коренной подшипник", self.thirdRootBearing)
        self.tabWidget.widget(4).add_tab("4-ый коренной подшипник", self.fourthRootBearing)

        if self.engine == "L4" or self.engine == "V8":
            self.tabWidget.widget(4).add_tab("5-ый коренной подшипник", self.fifthRootBearing)
        
        if self.engine == "L6" or self.engine == "V12":
            self.tabWidget.widget(4).add_tab("5-ый коренной подшипник", self.fifthRootBearing)
            self.tabWidget.widget(4).add_tab("6-ой коренной подшипник", self.sixthRootBearing)
            self.tabWidget.widget(4).add_tab("7-ой коренной подшипник", self.seventhRootBearing)

        self.tabWidget.widget(4).add_tab("Толщины масляных пленок для всех подшипников",self.sum)
        # self.tabWidget.widget(4).add_tab("Распределения минимальных толщин", self.distributions)

      elif self.tabWidget.currentIndex() == 5 and not self.AreTabsHere4 and self.tabWidget.widget(5).target == 'main':

        self.AreTabsHere4 = True

        self.conRodBearing = MiddleMainWidget("The angle of the direction")
        self.firstRootBearing = MiddleMainWidget("The angle of the direction")
        self.secondRootBearing = MiddleMainWidget("The angle of the direction")
        self.thirdRootBearing = MiddleMainWidget("The angle of the direction")
        self.fourthRootBearing = MiddleMainWidget("The angle of the direction")
        
        if self.engine == "L4" or self.engine == "V8":
            self.fifthRootBearing = MiddleMainWidget("The angle of the direction")
        
        if self.engine == "L6" or self.engine == "V12":
            self.fifthRootBearing = MiddleMainWidget("The angle of the direction")
            self.sixthRootBearing = MiddleMainWidget("The angle of the direction")
            self.seventhRootBearing = MiddleMainWidget("The angle of the direction")

        self.tabWidget.widget(5).add_tab("Шатунный подшипник", self.conRodBearing)
        self.tabWidget.widget(5).add_tab("1-ый коренной подшипник", self.firstRootBearing)
        self.tabWidget.widget(5).add_tab("2-ой коренной подшипник", self.secondRootBearing)
        self.tabWidget.widget(5).add_tab("3-ий коренной подшипник", self.thirdRootBearing)
        self.tabWidget.widget(5).add_tab("4-ый коренной подшипник", self.fourthRootBearing)

        if self.engine == "L4" or self.engine == "V8":
            self.tabWidget.widget(5).add_tab("5-ый коренной подшипник", self.fifthRootBearing)
        
        if self.engine == "L6" or self.engine == "V12":
            self.tabWidget.widget(5).add_tab("5-ый коренной подшипник", self.fifthRootBearing)
            self.tabWidget.widget(5).add_tab("6-ой коренной подшипник", self.sixthRootBearing)
            self.tabWidget.widget(5).add_tab("7-ой коренной подшипник", self.seventhRootBearing)

      elif self.tabWidget.currentIndex() == 6 and not self.AreTabsHere5 and self.tabWidget.widget(6).target == 'main':
          
        self.AreTabsHere5 = True

        self.conRodBearing = MiddleMainWidget("Pressure")
        self.firstRootBearing = MiddleMainWidget("Pressure")
        self.secondRootBearing = MiddleMainWidget("Pressure")
        self.thirdRootBearing = MiddleMainWidget("Pressure")
        self.fourthRootBearing = MiddleMainWidget("Pressure")
        
        if self.engine == "L4" or self.engine == "V8":
            self.fifthRootBearing = MiddleMainWidget("Pressure")
        
        if self.engine == "L6" or self.engine == "V12":
            self.fifthRootBearing = MiddleMainWidget("Pressure")
            self.sixthRootBearing = MiddleMainWidget("Pressure")
            self.seventhRootBearing = MiddleMainWidget("Pressure")

        self.sum = MiddleMainWidget("Pressure")

        self.tabWidget.widget(6).add_tab("Шатунный подшипник", self.conRodBearing)
        self.tabWidget.widget(6).add_tab("1-ый коренной подшипник", self.firstRootBearing)
        self.tabWidget.widget(6).add_tab("2-ой коренной подшипник", self.secondRootBearing)
        self.tabWidget.widget(6).add_tab("3-ий коренной подшипник", self.thirdRootBearing)
        self.tabWidget.widget(6).add_tab("4-ый коренной подшипник", self.fourthRootBearing)

        if self.engine == "L4" or self.engine == "V8":
            self.tabWidget.widget(6).add_tab("5-ый коренной подшипник", self.fifthRootBearing)
        
        if self.engine == "L6" or self.engine == "V12":
            self.tabWidget.widget(6).add_tab("5-ый коренной подшипник", self.fifthRootBearing)
            self.tabWidget.widget(6).add_tab("6-ой коренной подшипник", self.sixthRootBearing)
            self.tabWidget.widget(6).add_tab("7-ой коренной подшипник", self.seventhRootBearing)

        self.tabWidget.widget(6).add_tab("Суммарная диаграмма максимального давления", self.sum)

      elif self.tabWidget.currentIndex() == 7 and not self.AreTabsHere6 and self.tabWidget.widget(7).target == 'main':
          
        self.AreTabsHere6 = True

        self.conRodBearing = MiddleMainWidget("Losses")
        self.firstRootBearing = MiddleMainWidget("Losses")
        self.secondRootBearing = MiddleMainWidget("Losses")
        self.thirdRootBearing = MiddleMainWidget("Losses")
        self.fourthRootBearing = MiddleMainWidget("Losses")
        
        if self.engine == "L4" or self.engine == "V8":
            self.fifthRootBearing = MiddleMainWidget("Losses")
        
        if self.engine == "L6" or self.engine == "V12":
            self.fifthRootBearing = MiddleMainWidget("Losses")
            self.sixthRootBearing = MiddleMainWidget("Losses")
            self.seventhRootBearing = MiddleMainWidget("Losses")

        self.sum = MiddleMainWidget("Losses")

        self.tabWidget.widget(7).add_tab("Шатунный подшипник", self.conRodBearing)
        self.tabWidget.widget(7).add_tab("1-ый коренной подшипник", self.firstRootBearing)
        self.tabWidget.widget(7).add_tab("2-ой коренной подшипник", self.secondRootBearing)
        self.tabWidget.widget(7).add_tab("3-ий коренной подшипник", self.thirdRootBearing)
        self.tabWidget.widget(7).add_tab("4-ый коренной подшипник", self.fourthRootBearing)

        if self.engine == "L4" or self.engine == "V8":
            self.tabWidget.widget(7).add_tab("5-ый коренной подшипник", self.fifthRootBearing)
        
        if self.engine == "L6" or self.engine == "V12":
            self.tabWidget.widget(7).add_tab("5-ый коренной подшипник", self.fifthRootBearing)
            self.tabWidget.widget(7).add_tab("6-ой коренной подшипник", self.sixthRootBearing)
            self.tabWidget.widget(7).add_tab("7-ой коренной подшипник", self.seventhRootBearing)

        self.tabWidget.widget(7).add_tab("Суммарная диаграмма потерь на трение", self.sum)
  
  
    def add_tab(self, title: str, obj) -> None:
        '''Создание вкладки окна'''
        self.tabWidget.addTab(obj, title)


### ГЛАВНОЕ ОКНО


# ГЛАВНЫЙ ВИДЖЕТ, здесь обьеденяется таблица и график
# class MainWidget(QtWidgets.QWidget):
#     def __init__(self) -> None:
#         super().__init__()
#         self.graphic = TabGraphic()
#         self.table = TabTable()
#         self.button = QtWidgets.QPushButton("Сгенерировать отчет")
        
#         layout = QtWidgets.QVBoxLayout()
#         layout.addWidget(self.graphic)
#         layout.addWidget(self.table)
#         layout.addWidget(self.button)

#         self.setLayout(layout)
### ГЛАВНЫЙ ВИДЖЕТ

### ГРАФИК
class MplCanvas(FigureCanvasQTAgg):
    def __init__(self, parent=None, width=5, height=4, dpi=100) -> None:
        self.fig = Figure(figsize=(width, height), dpi=dpi)
        self.axes = self.fig.add_subplot(111)
        super(MplCanvas, self).__init__(self.fig)

    def save(self, path: str) -> None:
        '''Сохранение графика'''
        self.fig.savefig(path)

class TabGraphic(QtWidgets.QWidget):
    def __init__(self) -> None:
        super().__init__()
        self.sc = MplCanvas(self, width=5, height=4, dpi=100)

        # Create toolbar, passing canvas as first parament, parent (self, the MainWindow) as second.
        toolbar = NavigationToolbar(self.sc, self)

        layout = QtWidgets.QVBoxLayout()
        layout.addWidget(toolbar)
        layout.addWidget(self.sc)

        self.setLayout(layout)

    def add(self) -> None:
        # ФУНКЦИЯ РИСОВАНИЯ ГРАФИКА
        self.sc.axes.set_title('Название диаграммы')
        self.sc.axes.set_xlabel('time (s)')
        self.sc.axes.set_ylabel('amplitude')
        self.sc.axes.plot([1, 2, 3, 4, 5, 5, 2532532])
        
        self.sc.save('test.png') # Вызов сохранения графика
### ГРАФИК
 

### ТАБЛИЦА
class Table(QtWidgets.QWidget):
    def __init__(self, parent=None) -> None:
        super(Table, self).__init__()

    def add(self, data: dict[str, list[int | float]]) -> None:
        '''
            Добавление значения в таблицу
            Значения передаются в виде словаря
            key - str (Название поля. Например: FSUM, BETA, ...)
            value - list[int | float]
        '''
        self.tableWidget = QtWidgets.QTableWidget(0, len(data.keys()))
        self.tableWidget.horizontalHeader().setDefaultSectionSize(200)  
        
        vbox = QtWidgets.QVBoxLayout(self)
        self.tableWidget.setHorizontalHeaderLabels(list(data.keys()))
        max_row = self._get_max_row(data)
        self.tableWidget.setRowCount(max_row)
        column = 0
        for key, val in data.items(): 
            row = 0 
            for v in val:
                self.tableWidget.setItem(row, column, QtWidgets.QTableWidgetItem(str(v)))
                row += 1
            column+=1
        vbox.addWidget(self.tableWidget)      

    def _get_max_row(self, data: dict[str, list[int | float]]) -> int:
        '''Получает размер самого большого списка внутри словаря'''
        max_row = 0
        for key, val in data.items():
            max_row = max(max_row, len(val))
        return max_row

    def keyPressEvent(self, event) -> None:
        '''Обработчик нажатия Cntr+C'''
        self.tableWidget.keyPressEvent(event)
        if event.key() == Qt.Key.Key_C and (event.modifiers() & Qt.KeyboardModifier.ControlModifier):
            copied_cells = sorted(self.tableWidget.selectedIndexes())

            copy_text = ''
            max_column = copied_cells[-1].column() if len(copied_cells) else 0
            for c in copied_cells:
                if self.tableWidget.item(c.row(), c.column()) is None:
                    copy_text += '-'
                else:
                    copy_text += self.tableWidget.item(c.row(), c.column()).text()
                if c.column() == max_column:
                    copy_text += '\n'
                else:
                    copy_text += '\t'
                    
            QApplication.clipboard().setText(copy_text)

class TabTable(QtWidgets.QWidget):
    def __init__(self, *args, **kwargs) -> None:
        super(TabTable, self).__init__(*args, **kwargs)
        self.tabWidget = QtWidgets.QTabWidget()

        layout = QtWidgets.QVBoxLayout()
        layout.addWidget(self.tabWidget)

        self.setLayout(layout)

    def new_tab(self, title: str, data: dict[str, list[int | float]]) -> None:
        '''Новая вкладка в таблице'''
        index = self.tabWidget.count() - 1
        tabPage = Table(self)
        tabPage.add(data)
        self.tabWidget.insertTab(index, tabPage, title)
        self.tabWidget.setCurrentIndex(index)
 ### ТАБЛИЦА
 
 
# if __name__ == "__main__":
#     app = QApplication(sys.argv)
#     tabdialog = MainWindow()

#     test = MainWidget()
#     test.table.new_tab(
#         "Название диаграммы",
#         {
#             "FSUM": [i for i in range(10, 100)],
#             "BETA1": [i for i in range(10, 100)]
#         } 
#     )
#     test.graphic.add()
#     tabdialog.add_tab("Название диграммы", test)
    
#     tabdialog.show()
#     app.exec_()

